DigiWhite
Зарегистрирован: 03.03.2004 Сообщения: 12 Откуда: Санкт-Петербург
|
Добавлено: Пт Мар 26 2004 19:09 Заголовок сообщения: Проблема с потоком в BCB 6.0 |
|
|
Есть такой код:
Код: |
HANDLE hThread;
DWORD dwThreadID;
DWORD dwExitCode;
DWORD __stdcall Thread(LPVOID)
{
MainForm->OnBeforDevide->Execute();
MainForm->StartToDevide->Execute();
MainForm->OnAfterDevide->Execute();
return 0;
};
...
...
void __fastcall TMainForm::StartThreadExecute(TObject *Sender)
{
hThread = CreateThread(NULL, 0, Thread, Application->MainForm->Handle, 0, &dwThreadID);
}
...
...
void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action)
{
GetExitCodeThread(hThread, &dwExitCode);
TerminateThread(hThread, dwExitCode);
}
|
Там, вообщем, создается поток, в потоке выполняются некоторые действия. Когда в потоке все функции отработают. Приложение закрывается без всяких ошибок. Однако, когда во время работы потока закрыть приложение, возникают ошибки - то ошибка с номером 5, "Доступ запрещен", то "Неверный дескриптор окна" - ошибка 1400.
Не могу понять, почему. Может кто нибудть сталкивался с подобным??? Или знает в чем дело? |
|
Ersh
Зарегистрирован: 20.01.2004 Сообщения: 107
|
Добавлено: Сб Мар 27 2004 15:17 Заголовок сообщения: |
|
|
могу предположить, что когда ты закрываешь приложение, удаляеться процесс, соответсвенно и все ресурсы связанные с ним, а поток не имеет своих ресурсов, а использует ресурсы процесса. _________________ Анархия - мать порядка!!!!!!!!! |
|