1. Eu 4.1cf eu 4.05 - breaks down with SOME d
- Posted by ChrisB (moderator) May 17, 2016
- 2300 views
Forked from Re: Euphoria 4.1 problem - as relates to tinewg
Edit2: On the other side, this seems not to affect the function ...
I guess this is the major sticking point.
Does anyone have any example code that can actually demonstrate where the 4.1 behavior here actually breaks something? Otherwise, it's simply just a display issue.
Which is not to say we shouldn't fix the display issue, but it may have a lower priority than the switch bug.
2. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d
- Posted by ChrisB (moderator) May 17, 2016
- 2315 views
Hi
Thought I'd start a table here, because it attracts more activity than the wiki (afaik)
Test bed - windows only : Windows 8.1 64 bit system 32 bit euphorias in /bin
eui405.exe 505kb
~reports using managed memory
~revision date 2012-10-11
eui410.exe 2018Kb
~reports using system memory
~revision date 2015-02-02
euiw405 and euiw410 report similar
includes ~most up to date I can get, I think, but as there is no versioning, can't be sure. The same include set is used for 405 and 410, the 410 set being installed over the 405 set
Always 32 bit windows, and 32 bit dll
eu.cfg used in program directory to point to location of required includes
program run from editplus, with choice of eui405, euiw405, eui410, euiw410.
So far no difference between eui and euiw as far as running goes
if the example program doesn't run, then there is no crash, or crash message, it just stops, and dumps you back to the command line.
DLL | works with eui405 | works with eui410 |
---|---|---|
sqlite3 | yes | no |
sdl | yes | no |
opengl | yes | yes |
win32lib | yes | yes |
exoticax | yes | no |
allegro | yes | no |
morfit (although is very old) | yes | no |
Arwen | yes | no (crashes with type check failure in machine.e |
sdl2 | no (machine level exception) | no |
iup4eu | no | yes |
iup (Jeremy version) | yes | no |
Nexus | yes | no |
This list is not yet complete - if you want to post your tests, I will update the table to reflect them. Note, if your setup indicates that these programs do run with these combos, then that is an equally valid result - post here.
Cheers
Chris
3. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d
- Posted by Spock May 19, 2016
- 2273 views
This list is not yet complete - if you want to post your tests, I will update the table to reflect them. Note, if your setup indicates that these programs do run with these combos, then that is an equally valid result - post here.
Cheers
Chris
The Arwen bundle on the contributions page is quite old (2007) so I guess it's not surprising that it doesn't work with 4.10 as shown in your table. However, my latest development version (2016) will start to run but then silently closes at some program event - usually within a few seconds from execution. I'm not sure if your table even needs to be updated. Just fyi
Spock
4. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d
- Posted by ChrisB (moderator) May 19, 2016
- 2272 views
Hi
Looks like dll crash to me. It's the silence which I think is giving it away. Jim has suggested added a '+' to the dll call, will be giving this a go in due course.
Cheers
Chris
5. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d
- Posted by ne1uno Jan 21, 2017
- 2014 views
Hi
Looks like dll crash to me. It's the silence which I think is giving it away. Jim has suggested added a '+' to the dll call, will be giving this a go in due course.
Cheers
Chris
windows dll routines never need '+', (with the possible exception of a few variable argument functions) only 3rd party built dll by default use or don't use cdecl
the problem with Arwen 2007 was with sizeof() being already defined in eu4.1, I'm not sure why it didn't always resolve to the Arwen defined function.
if you edit all the use of sizeof( to get_sizeof( the few demos I tried work in euphoria 41 ok.
they won't work with a 64 bit euphoria 4.1 without more extensive changes because of the hardwired assumption that pointers are 4 bytes. many of the archive libraries took liberties with C_TYPES since in 32 bit euphoria most types seemed to work interchangeably. you would also need to change poke4 of pointers to poke_pointer
if you define -D SAFE on the commandline, you can sometimes find there are allocation or out of bounds peeks and pokes even with programs that you get lucky and they still work.
6. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d
- Posted by ChrisB (moderator) Jan 21, 2017
- 2014 views
Hi
Looks like dll crash to me. It's the silence which I think is giving it away. Jim has suggested added a '+' to the dll call, will be giving this a go in due course.
Cheers
Chris
windows dll routines never need '+', (with the possible exception of a few variable argument functions) only 3rd party built dll by default use or don't use cdecl
the problem with Arwen 2007 was with sizeof() being already defined in eu4.1, I'm not sure why it didn't always resolve to the Arwen defined function.
if you edit all the use of sizeof( to get_sizeof( the few demos I tried work in euphoria 41 ok.
they won't work with a 64 bit euphoria 4.1 without more extensive changes because of the hardwired assumption that pointers are 4 bytes. many of the archive libraries took liberties with C_TYPES since in 32 bit euphoria most types seemed to work interchangeably. you would also need to change poke4 of pointers to poke_pointer
if you define -D SAFE on the commandline, you can sometimes find there are allocation or out of bounds peeks and pokes even with programs that you get lucky and they still work.
Hi
I modified sqlite3 to add a '+' in front of the dll calls - and it worked with both 4.05 and 4.1, whereas it only worked with 4.05 before, so the table can now be updated. I don't know why either. The calls with or without the '+' work in Phix, which supports the not required hypothesis.
Cheers
Chris