Использовать какой-либо флаг завершения. В классовом варианте это
Код:
while not Terminated do ...
А вообще упоротость - писать на ООП-языке без ООП. Вы бы ещё на ассемблере писали в блоке asm ... end;
Для таких извращений есть Си (без плюсов) и подобные языки.