Wenn dein Programm während des Laufs der (beiden) Threads sowieso blockiert (was WFMO ja verursacht) könntest du es auch so machen:
Delphi-Quellcode:
while (not Thread1.Terminated) or (not Thread2.Terminated) do
begin
Application.ProcessMessages;
Sleep(100);
end;
Entsprechend für die Einzelthreadversion anpassen, obwohl ich mich da frage, warum nen einzelnen Thread, auf den gewartet wird?
PS: Ich nehme mal an,
TtSearchSourceFiles ist eine Variable. Dann erstellst du die aber mit TDeinThreadTypName.Create(), nicht DeinVariablenName.Create()