'loha Folks,
Mit der folgenden Prozedur, wird eine Simulation unterbrochen...
Delphi-Quellcode:
procedure TFDSC_Simulator.Delay(Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
Milliseconds := Tick - GetTickcount;
end;
finally
CloseHandle(Event);
end;
...dieser Unterbruch wird so aufgerufen.
Delphi-Quellcode:
while LCDanger = False do
begin
Repeat Delay(1000) until LCDanger = True;
Break;
end;
So weit so gut. Funktioniert...bis auf den Punkt, dass sich die Applikation nachher nicht mehr schliessen lässt.
Des weiteren habe ich beobachtet, dass nach dem ersten Aufruf (Delay(1000)) jede Sekunde die obige Prozedur durchlaufen wird.
Für Lösungsansätze wäre ich sehr dankbar.
Grüsse
hirnstoem