Re: Euphoria and Windows XP SP2
- Posted by Robert Craig <rds at RapidEuphoria.com> Sep 18, 2004
- 433 views
Tommy Carlier wrote: > In SP2, DEP is by default enabled only for critical > services and applications. This causes no problems with > Euphoria. However, when I enable it for ALL applications, > Euphoria-programs get machine errors. Like suggested in > previous posts, the manually constructed assembly-routines > cause problems. But there were also problems with c_func > and c_proc: I can show a message_box from Euphoria, but > I can't open a window (CreateWindow and CreateWindowEx > throw an error). This even happens with the small demos > that come with Euphoria (WINDOW.EXW, WINWIRE.EXW). Internally, for Windows call-backs, Euphoria allocates data segment space and copies executable code into it. This lets me provide an "infinite" number of call-back routines, with numbers of arguments from 0 to 9. In practice, no Win32Lib-based program that I've tried uses more than about 20 unique call-back routines, most taking 4 arguments. If there were fixed limits on the number of call-back routines with a given number of arguments, I could avoid using the data segment to store code. In the new open source version of Euphoria written 100% in Euphoria, I've taken the approach of having a fixed number (20) of call-back routines, and it runs every Windows program I throw at it (including Judith's IDE). I could support "infinite" call-backs there too, but it's extra work, and people want me to hurry up (If 20 isn't enough, just edit the interpreter to make it 30, 40 ...) I have no idea how many people are going to fully enable DEP. I imagine there are other important apps that will die if it's turned on. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com