Application.Processmessages ist eben etwas anderes als mit Threads. Folgendes machst du:
Delphi-Quellcode:
start_prog(1);
while (pipe1) do
begin
//mache irgendwas
end;
wenn du bei "mach irgendwas" jetzt das nächste startest sieht das ganze so aus:
Delphi-Quellcode:
start_prog(1);
while (pipe(1)) do
begin
start_prog(2);
while (pipe(2)) do
begin
//mache irgendwas
end;
//mache irgendwas
end;