Hmm. Ok, ich habe die Funktion noch nie verwendet. Ich habe mal in der
MSDN mir das
Beispiel dazu angeschaut und das kann man doch leicht zu Delphi umsetzen wobei das WaitForMultipleObjects() in einem Thread gepackt werden kann. Damit solltest du dein Problem doch auch lösen können. Dein bisheriger Weg hat zum Unterschied nur die Einsparung des Threads, da Windows den Thread statt dessen laufen lässt und dich aus diesem dann aufruft.