Всё, разобрался. Моя ошибка.
SysErrorMessage = Неверный дескриптор.
Надо было делать так:
Код:
Hndle:= CreateThread(nil,0,@DoNothing,nil,0,ThreadHandle);
TerminateThread(Hndle,0);
MAD: оформляем код, блин
Просто в описании ф-ции CreateThread написано, что
LPDWORD lpThreadId // pointer to returned thread identifier
И то, что дескриптор должен обладать признаком THREAD_TERMINATE
Вообщем, тогда я не понимаю что это всё значит.
Ну и пару встречных вопросов:
1. А как можно правильно завершить поток выполняющий while true do; ?
2. Можно как нибудь избавиться от утечки ресурсов в бесклассовом треде завершённым таким образом(через ThreadTerminate) ?