Создаю поток. Он вызывает функцию, в которой есть задержка...
procedure Delay(dwMilliseconds: Longint);
var
iStart, iStop: DWORD;
begin
iStart := GetTickCount;
repeat
iStop := GetTickCount;
Application.ProcessMessages;
until (iStop - iStart) >= dwMilliseconds;
end;
Для тестирования ставлю Delay(1000000000).
Затем в какой-то момент мне нужно полность уничтожить поток
Реализовано:
IF Assigned (ParcelThread) Then
Begin
TerminateThread(ParcelThread.Handle,ParcelThread.ThreadExitCode);
FreeAndNil(ParcelThread);
End;
Но когда пытаюсь закрыть прогу, оказывается поток работает (прога не закрывается, причем ошибок нет)
Подскажите как его зарубить.
P.S. Могу реализовать только часть с потоком, то что он вызывает реализовано не мной