Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Patrick,
1. Apr 2009
Habe das Problem jetzt gelöst. Zumindest scheint es so.
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)...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Patrick,
25. Mär 2009
Was genau meinst du damit "eine Fensternachricht schicken"? Das Problem bei einem einfachen Fenster ist, dass der Hauptthread nachdem er den Subthread beendet hat noch weiter code ausführen soll.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Patrick,
24. Mär 2009
Hallo,
Ich habe ein kleines Problem, mit 2 Threads, die unter umständen in einen Deadlock Zustand kommen können. Ich würde das gerne vollends vermeiden, komme aber auf keinen grünen Zeig.
Der erste Thread ist der MainThread, der einen SubThread startet und stoppt.
Der Subthread führt in einer Schleife einige Datenbankabfragen durch und gibt in jedem Durchlauf Ergebnisse zurück. Sprich er...