Hi,
ich kram den alten Thread nochmal aus
ich habe hier ein gleichartiges Problem und das einmal in einem Testprojekt weiter geprüft:
Delphi-Quellcode:
procedure TForm1.machwas;
var
i: integer;
begin
mmo.lines.add('Foo');
for i := 0 to 300 do
begin
sleep(10);
application.processmessages;
end;
mmo.lines.add('bar');
end;
procedure TForm1.TimerTimer(Sender: TObject);
begin
if bInUse then
Exit;
bInUse := true;
machwas;
bInUse := false;
end;
procedure TForm1.btnClick(Sender: TObject);
begin
form2.ShowModal;
end;
Wenn das Form2.Showmodal aufgerufen wird, während der TimerTimer gerade abgearbeitet wird, so wird diese Abarbeitung unterbrochen.
Der Timer wird zwar weiterhin neu aufgerufen, aber der aktuelle Timerdurchlauf wird erst nach dem Schließen des Formulars fortgesetzt. Kann man das irgendwie umgehen?
Grüße