Thread.Terminate メソッドはスレッドのTerminatedプロパティをtrueにします。
スレッドはTerminatedプロパティがtrueになったら終了するように実装する必要があります。
void __fastcall TMyThread::Execute()
{
//TThread.Terminateメソッドが呼ばれるまで出力を繰り返す
while (!Terminated)
{
std::cout << "Nice!";
Sleep(100);
};
}
int _tmain(int argc, _TCHAR* argv[])
{
TMyThread* thread = new TMyThread(false);
//5秒待機
Sleep(5000);
//スレッドを終了する
thread->Terminate();
return 0;
}