Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Überlappendes Application. ProcessMessages macht Unsinn

  Alt 26. Feb 2004, 18:45
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
  Mit Zitat antworten Zitat