Ожидание внешнего приложения

Доброго времени суток, all.
Проблема следующего содержания:
Запускаю внешнее приложение из своего (основного), мне необходимо дождаться его
завершения для дальнейшей работы основного приложения.
В принципе на Сишке реализация через swapxy(P_WAIT,..);//process.h
Но проблема как это сделать в Delphi 6, все начинается коматоз мозга..
Киньте идейку...
Да, попытался через shellexecute, все запускается, но ждать не хочет
:)
Мона делать CreateProcess и WaitForSingleObject
его