Habe das Problem jetzt gelöst. Zumindest scheint es so.
Delphi-Quellcode:
while not SubThread.Suspended do // Warten bis Subthread gestoppt ist
begin
Sleep(10); // Schlafen
Application.ProcessMessages; // Nachrichten-Queue abarbeiten
end;
Der Hauptthread muss einfach ab und zu mal beim warten seine Nachrichtenschleife (eben die Synchronize-Aufrufe vom Subthread) abarbeiten. Dies mache ich mit Application.ProcessMessages. Zwar bezieht sich das auf den Prozess, aber da es hier um den Hauptthread geht schaint das in Ordnung zu sein. Wie kann ich denn einen gezielten Thread (z.B. TThread) zum abarbeiten seiner Nachrichten-Queue überreden?
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.