No, I understand the 386 instruction set very well. My question was what DELPHI needs preserved in these registers. I have seen one item that suggests that ESI points to the last object accessed. Also, windows API calls do NOT preserve ESI or EDI.
I have some assembly language routines I am migrating from Delph1 to Delphi4. It seems that delphi4 requires esi, edi, and ebx to be saved over calls to the asm routine. I have found some documention stating this requirement, but nowhere have I found WHAT these registers are being used for...
Try something like this:
function RandString(const stringsize: integer): string;
var
n: integer;
s: string;
const ss: string = '0123456789abc';
{list all the charcaters you want to use}
begin
s:='';
for n:=1 to stringsize do
s:=s+ss[random(length(ss))+1]...
You need to make sure you are opening the file for read-only (FileMode:=0). Earlier versions of the OS were satisfied by your not writting to a file in r/o use, but ME and later make you first promise not to write to it.
I have had this problem in Delphi 1 - it seems to be timing related. Try sending a close message instead of halting:
PostMessage(Form1.handle,WM_CLOSE,0,0);
My large delphi 1 program occasionally gets the fatal error "cannot change visible in onshow or onhide" soon after startup. I do not directly manipulate the visible property, nor do I override the onshow or onhide event handlers. I have eliminated this problem on my own HW (just by...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.