Every time i call wsprintf i get an Aplication error.
Debuger shows that call user32.wsprintfA jumps somewere in user32.dll but not in the begining of wsprintf.
I'm using fasm 1.42 on win2k.
Any ideas?
Debuger shows that call user32.wsprintfA jumps somewere in user32.dll but not in the begining of wsprintf.
I'm using fasm 1.42 on win2k.
Any ideas?
Hi,
one of errors in ccall macro:
macro ccall proc,
{
COMMON ;!
param_num = 0
reverse
push arg
param_num = param_num + 4
common
call proc
add esp, param_num
}
Macro with variable number of parameters started from "forward" (by default) .
Thanks.
one of errors in ccall macro:
macro ccall proc,
{
COMMON ;!
param_num = 0
reverse
push arg
param_num = param_num + 4
common
call proc
add esp, param_num
}
Macro with variable number of parameters started from "forward" (by default) .
Thanks.
Thanks for correction, i didn't know that.
But the problem still exists.
But the problem still exists.
if you use invoke instead of call it works :)
but of course without stack clearing
the problem is in the macro, you must use
but of course without stack clearing
the problem is in the macro, you must use
call
Now is ok, thanks a lot.
I got this macro from the teeth sample and i've thought it should be working.
Now i've learn my lesson :))
I got this macro from the teeth sample and i've thought it should be working.
Now i've learn my lesson :))
Macro works ok at me:
The problem is that you didn't know how to use it, not in macro.
buf rb 16
...
ccall [wsprintf], buf, "Value = %d", 5
The problem is that you didn't know how to use it, not in macro.
I didn't wanted to say that the author of macro is wrong, but that i was using something that i don't quite understand and i should clear that at first.
By the way the teeth program is the perfect sample because it contains almost everything a man can see in a windows application.
By the way the teeth program is the perfect sample because it contains almost everything a man can see in a windows application.
Thanks for compliment ;)