weiss zwar nicht was da standardmässig in eax steht aber so könnte es gehen:
Delphi-Quellcode:
procedure dosomething;
begin
showmessage('
parameter wurde an free übergeben');
end;
procedure TObject.Free(myparam:boolean);
stdcall;
asm
TEST EAX,EAX
JE @@exit
MOV ECX,[EAX]
CALL dword ptr [ECX].vmtDestroy
pop eax
cmp eax, 1
jne @@exit
call dosomething
@@exit:
end;