<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-4">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>earlier i wrote about very strange error. I trayed
to debug it and found that esi register is not initialized before it is used. It
is visible in the attached picture.</FONT></DIV>
<DIV><FONT face=Arial size=2>Much more i insert missing asm line into program
source and now it works fine:</FONT></DIV>
<DIV><FONT face="Courier New" size=2>procedure TGDB.LoadFile(p: PChar);
stdcall;<BR></FONT><FONT face="Courier New" size=2>var<BR> s:
string;<BR>begin<BR> {$ASMMODE intel}<BR> asm
<BR> mov esi, DWORD PTR [ebp+8]; //
<---------missing code<BR> end; <BR> if fRunn
then<BR> Reset;<BR> WriteLn(fRunn);
//<------now program does not crashes<BR> s:= p;<BR>
LoadFile(s);<BR> StartTrace;<BR> fRunn:= true;<BR>end;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I think this
bug origin is interface used in the class. Because
i noticed similar problem with interfaces and wrote about it
ealier.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV></BODY></HTML>