Naja, es ist schon in Verbindung mit Timern etwas... sagen wir mal "gewöhnungsbedürftig".
Weil:
Delphi-Quellcode:
procedure onTimer1(irgendwas:TObject);
begin
doIrgendwasWasEtwasDauert;
Application.ProcessMessages;
|
--> procedure onTimer2(wasAnderes:TObject);
begin
doNochWasWasLängerDauert;
Application.ProcessMessages;
|
--> procedure onTimer1(irgendwas:TObject);
begin
.
.
. // usw. usf.....
end;
end;
end;
Also tatsächlich sowas wie eine Rekursion.
Wie man das lösen könnte weiss ich nicht, aber ich habe mein (sehr aktuelles) Problem gleicher Art so gelöst, dass ich in den TimerProcedures einfach kein Application.ProcessMessages benutzte. Fertig ist die Laube
gruss,
dizzy
\edit: Voraussetzung ist natürlich, dass die Bearbeitung innerhalb der Timer1Prozedur bis zum App.ProcessMessages mindestens so lange dauert, wie das Intervall von Timer2, und umgekehrt.
Oder die Timer würden asynchron gestartet, oder haben ungleiche Intervalle. Also in den meisten Fällen zumindest geht's in die Hose
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel