Einzelnen Beitrag anzeigen

Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Thread blockiert beim zweiten Aufruf von Synchronize

  Alt 5. Nov 2008, 14:43
Wie schon gesagt, hatte ich das vorher ohne Messageschleife und Timer gelöst, dafür aber mit Sleep(xy). Das Problem ist, dass bei einem Fehler (bei der Übermittlung der Daten im Thread an eine Webseite) die Zeit bis zum nächsten Versuch von von einer Sekunde auf 60 Sekunden geändert werden soll. Wenn ich das mit sleep(60000) mache und ich in der Zeit das Programm beenden möchte musste ich immer warten bis sleep() fertig war. Deshalb dachte ich mir, ich mach das jetzt mit einem Timer.
if Assigned(OnGetNewEntries) then OnGetNewEntries(fWorkList); OnGetNewEntries ist ein Ereignis, welches die Elternklasse aufruft neue Werte zu übergeben und mehr passiert da auch nicht. fWorklist ist ein array of record.

Critical Sections nutze ich selber nicht, dafür aber die Komponente idThread in einer anderen Unit im Programm (diese benutzt ja meines Wissens CriticalSections). Wie gesagt, es hat alles mit dem Code funktioniert - das einzige, was ich geändert habe ist der Aufruf über den Timer und die Messageloop.


EDIT: Ops .... "fWorklist ist ein array of record." ist falsch. fWorklist ist ne Klasse.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat