Hello I have an application that works perfectly in Windows 98 machines, but is incompatible with Windows 2000 machines. On some Win2k boxes it gives a "Program Error" and quits. On others, it loads up ok, but there are some unexpected GUI problems. I was told once that the problem could be uninitialized data, but I do not think that is the case. Could it be the API that I use that causes the problem? If needed, I can post my imports here. Thanks. comrade
Hello, I have had the same problem with Microsoft's .NET operating system (Whistler). I was going to submit a bug report but I noticed it wasn't the problem with just Whistler. Sometimes I will have edit controls missing in 2K when they show up in Win98. Weird.
Uninitialized data in 2K is a MAJOR problem, and so are the registers - to confirm all is ok you might like to push ebx, esi, edi before the call and restore them afterwords, and ALSO set the variables used to 0 or 1 or whatever as Win2K is pedantic that way. Also make sure that your register variables are set to 0 for the high parts (eg. you may have al or ax set to a value, but the msb of eax could be junk and in 2K it will crash when used, under 9x it doesnt care...) James
Thank you. I got the part about preserving ebx, esi and edi. But what do you mean to set the high parts of my register variables to 0? And how would I go about fixing the "uninitialized data" problem? Initialize it all to 0? Please reply. comrade
Same errors in WinNt, Win2k... Memory could not be "read".. How to escape this? Pls help!
Yeah just use "xor eax, eax" etc. and that inits the msb and lsb of eax to 0...
Helow: I've had some incompatibility problems but almost ever I've finded solution. Problems with GUI frecuently come because I forget to return NULL to non procesed messages in dialog box procedures. The "read" or "write" bugs generaly are produced when I forget to save esi, edi or ebx registers in some callback procedures. Problems writing in remote process I solutioned changing access rights with VirtualProtectEx. But I still have problems using VirtualQueryEx. Anybody knows if this function works in Windows 2000? greetings n u M I T_o r
Don't know anything about those Query funcs.. But when I wrote "uses ebx" it worked!!! :-) Thanks :) Happy New Year! :-)
Hi, dont forget to align the stack to 4 byte blocks. Pushing single words or odd structures in LOCAL statements gives wired errors under NT. beaster.
thx beaster, dword aligning the stack seemed to solve all those weird win2k problems that were driving me nuts. tola
The problem was not returning 0 from DialogProc... I was returning garbage.
Heh, comrade the necromancer :P
Glad you finally solved this 8 year old bug :lol:
Comrade locuta - causa finita ^^