Euphoria and Windows XP SP2
- Posted by Tommy Carlier <tommy.carlier at telenet.be> Sep 18, 2004
- 475 views
I just updated to Windows XP SP2, and there were some problems with Euphoria. My computer is only a few months old, and has an AMD Athlon64 CPU, which has builtin DEP (data execution protection). When enabled, this prevents data from being executed. 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). As I said, the default settings of SP2 cause no problems, but if DEP is enabled for all applications, even the simplest Euphoria Win32-application crashes (leaves with a machine error). Below, you find EX.ERR produced by WINDOW.EXW: C:\EUPHORIA\DEMO\WIN32\WINDOW.EXW:228 in procedure WinMain() A machine-level exception occurred during execution of this statement szAppName = 682872 hwnd = <no value> msg = 682824 wndclass = 682768 WndProcAddress = 683000 class = 704865 id = 0 icon_handle = 590457 ... called from C:\EUPHORIA\DEMO\WIN32\WINDOW.EXW:254 Global & Local Variables C:\EUPHORIA\include\misc.e: pretty_end_col = <no value> pretty_chars = <no value> pretty_start_col = <no value> pretty_level = <no value> pretty_file = <no value> pretty_ascii = <no value> pretty_indent = <no value> pretty_ascii_min = <no value> pretty_ascii_max = <no value> pretty_fp_format = <no value> pretty_int_format = <no value> pretty_line = <no value> C:\EUPHORIA\include\machine.e: mem = 666392 check_calls = 1 C:\EUPHORIA\DEMO\WIN32\WINDOW.EXW: LoadIcon = 0 LoadCursor = 1 GetStockObject = 2 RegisterClassEx = 3 CreateWindow = 4 ShowWindow = 5 UpdateWindow = 6 GetMessage = 7 TranslateMessage = 8 DispatchMessage = 9 PlaySound = 10 BeginPaint = 11 GetClientRect = 12 DrawText = 13 EndPaint = 14 PostQuitMessage = 15 DefWindowProc = 16 wav_file = 529352 Euphoria = 682000 ps = 682048 rect = 682120 my_title = 682248 -- tommy online: http://users.telenet.be/tommycarlier tommy.blog: http://tommycarlier.blogspot.com Euphoria Message Board: http://uboard.proboards32.com