Wenn alle deine Aufgaben in dieser Form aus dem Arbeitsthread gestartet werden:
Zitat von
Sereby:
Delphi-Quellcode:
if (ThreadAufgabe1 = nil) then
begin
ThreadAufgabe1 := TThreadAufgabe1.Create;
ThreadAufgabe1.OnTerminate := frmGUI.OnAufgabe1ThreadTermination;
ThreadAufgabe1.Resume;
ThreadAufgabe1.WaitFor;
end;
Sind für die Aufgaben keine eigenen Threads erforderlich.
Hier würden einfache Objekte genügen.
Zitat von
Sereby:
etwas mehr debuggen hat zu tage gebracht, dass es an Synchronize liegt?!?!!!!
die delphi
ide meint dass der Haupt-Thread durch nen SendMessage aufgehalten wird..
Synchronize(SetText);
Übergibt die Methode SetText and den Hauptthread und wartet so lange, bis dieser Zeit hat, diese zu verarbeiten.
Wenn dieser keine Zeit dafür hat, solltest du mal nachschaun, was er den eigentlich zur Zeit macht.