Danke für die Antworten, aber es hilft mir leider nicht weiter. Ich habe mit der folgenden Code versucht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| ThreadHandles : array of THANDLE;
function TOutlookOutput.Execute: boolean; ... for i:= 0 to length(ThreadArray) - 1 do begin ... ThreadHandles[i] := ThreadArray[i].Handle; ... ThreadArray[i].Resume; end;
WaitForMultipleObjects(AnzahlThreads, @ThreadHandles, true, 1000); end; |
Wie ich verstanden habe, hilft WaitForMultipleObjects für die Synchronisation.
Ich brauche an der Stelle aber keine Synchronisationsmechanismen. Ich will dass meine Funktion, wo ich Threads erzeuge nur dann einen Wert(true oder false) zurückgibt, wenn alle Threads seine Arbeit zu ende gemacht haben. Also, die Anwendung soll warten, bis alle erzeugte Threads terminieren. Wie mache ich es? Kann mir jemand helfen?
Danke sehr
mk
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.