I just wonder....
How is it that when you run this attachment on win2K, it works
just fine, but on winXP it also seem to work, BUT the seconds
from 0 to 9 won't show ? The seconds on XP starts at :10 :)
Posted on 2002-08-05 08:32:10 by The SharK
This is not a zip file but renaming it to tar won't let me extract either.
Posted on 2002-08-05 10:21:12 by goofee
Hi goofee !

It's a .rar file that I renamed to .zip (I don't use winzip).:)
Posted on 2002-08-05 10:25:59 by The SharK


invoke wsprintf, offset sbuf, offset format, eax ; ay
call movdata
...
movdata:
cmp dl,0ah
ja devam1
...

After a call to wsprintf (or any other api function), edx is undefined.
Posted on 2002-08-05 11:42:43 by Tola
Hi Tola

Yes, that's what I found too, but
what can be done about it ?

Isn't it XP compatible ?
Posted on 2002-08-05 12:35:47 by The SharK
Push and Pop to preserve it, or am I missing something here...
Posted on 2002-08-05 12:53:21 by Eóin

Yes, that's what I found too, but
what can be done about it ?

Isn't it XP compatible ?

what are you using edx for, anyway?

i just noticed you're using esi and edi in your dlgproc without preserving them, which may cause problems as well.
Posted on 2002-08-05 13:08:20 by Tola
I don't know exactly what it does, but it's used under the
"movdata" subroutine.

It's not my program, it's from Iczelion's homepage.;)
Posted on 2002-08-05 13:24:29 by The SharK
You must follow the register saving conventions.

It only takes a change in the OS's calling chain, or extra computation in an OS routine, to invalidate registers that are published as being invalid after an API call.

ESI, EDI, and EBX (as well as EBP) are preserved by API calls. All other registers should be reloaded, or alternately, saved and restored with PUSH and POP.
Posted on 2002-08-05 18:30:01 by tenkey