'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