procedure TForm1.RemoveTextFile(var filename:string);
var
F:Text;
E:word;
retries : integer;
res : boolean;
begin
form199.statictext1.caption := 'An error has happened. Please wait while the program fixes it.';
form199.show;
delay(2200);
application.processmessages;
InOutRes := 0;
DeleteFile(filename);
//If filename still exists then do the following.
if FileExists(filename) = true then
begin
Assign(F,filename); // this has no IOResult
Reset(F);
E:=IOResult; // Always buffer IOResult, because it resets on read
if E = 0 then
begin
if TextRec(F).mode <> fmClosed then
close(F);
E:= IOResult;
if E = 0 then
Erase(F);
end;
end
else
begin
form199.statictext1.caption := 'The error has been corrected.';
delay(2200);
application.processmessages;
form199.hide;
exit;
end;
//If filename still exists then do the following.
if FileExists(filename) = true then
begin
retries := 2;
res := SysUtils.DeleteFile(filename);
while not res and (retries>0) do
begin
log(vlWarning, SWarnRetryDeleteFile, [filename]);
sleep(5000);
dec(retries);
res := SysUtils.DeleteFile(filename);
end;
end
else
begin
form199.statictext1.caption := 'The error has been corrected.';
delay(2200);
application.processmessages;
form199.hide;
exit;
end;
//If filename still exists then do the following.
if FileExists(filename) = true then
begin
form199.hide;
form219.statictext1.caption := 'A very rare Windows related (Outside) bug occurred. Please shut down and restart the program.';
form219.show;
end
else
begin
form199.statictext1.caption := 'The error has been corrected.';
delay(2200);
application.processmessages;
form199.hide;
end;
end;