Hallo,
ich probiere schon seit langem rum, wie ich auf 2 Threads warten kann. Ich habe jetzt folgende Ausgangssituation :
Delphi-Quellcode:
TSearchCopy = class(TThread)
private
{ Private-Deklarationen }
public
procedure Execute; override;
end;
TSearchDelete = class(TThread)
private
{ Private-Deklarationen }
public
procedure Execute; override;
end;
So erstelle ich meine Classen für die Threads.
Delphi-Quellcode:
procedure TMainForm.BtnCopyClick(Sender: TObject);
begin
.
.
.
// Fenster anzeigen, wo er gerade sucht
ProgressWindow.Visible := not ProgressWindow.Visible;
SearchForCopy := TSearchCopy.Create(false);
SearchForDelete := TSearchDelete.Create(false);
// hier soll gewartet werden, bis die beiden Threads fertig sind
// denn hier folgt weitere Sourcecode, der nach dem ausführen der Threads ausgeführt werden soll
.
.
.
end;
Und so starte ich es. In der Execute-Procedure wird nach Dateien gesucht. Dieses wird auch sauber angezeigt und funktioniert auch soweit sehr gut. Ich habe schon versucht, auf die beiden Threads mit :
Delphi-Quellcode:
repeat
Application.ProcessMessages;
until (SearchForCopy.Terminate) and (SearchForDelete.Terminate);
zu warten, was aber leider nicht zum Erfolg führt. Wie kann ich das anderst machen ? Muss ich eventuell den Aufruf ändern oder das warten auf die Threads ?