Witam.
Wiem że to C++Builder ale w delphi będzie identycznie.
Mamy program wielowątkowy i przy zakończeniu programu jeśli wątki są uruchomione to je niszczę.
TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if (WAIT_TIMEOUT == WaitForSingleObject(HT_A,1)) TerminateThread(HT_A,0); // jeden watek
if (WAIT_TIMEOUT == WaitForSingleObject(HT_B,1)) TerminateThread(HT_B,0);// drugi
}
Na windows XP program chodzi OK.
ale jeśli takie coś użyję na windows 2000 to program przy wyłączaniu się zawiesza. Powoduje error. Jesli w windows 2000 zrezygnuję z funkcj WaitForSingleObject a dam od razu TerminateThread to program chodzi.
i teraz czy jest jakaś różnica pomiędzy wątkami w win2000 a XP.