Форум: "Corba";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизВнутри СОМ не ловит события WaitForMultipleObjects почему ? Найти похожие ветки
← →
JibSkeart © (2004-04-27 10:30) [0]в главном потоке СОМ обьекта запускаю другой поток
hExit = CreateEvent(NULL,TRUE,FALSE,NULL);
hSend = CreateEvent(NULL,TRUE,FALSE,NULL);
_beginthread(&StartThread,16384,&par);
реализация StartThread выглядит так
void __cdecl StartThread(void* Params)
{
CoInitializeEx(NULL,COINIT_MULTITHREADED);
// ThreadParam * tp=(ThreadParam *)Params;
HANDLE pHandles[2];
pHandles[0] = hExit;
pHandles[1] = hSend;
while(1)
{
switch(WaitForMultipleObjects(2,pHandles,false,INFINITE))
{
case WAIT_OBJECT_0:
break;
case WAIT_OBJECT_0+1:
ShowMessage("hSend");
break;
}
}
delete tp;
::_endthread();
CoUninitialize();
}
Поток запускается , работает
но если я вызову теперь метод, где будет
SetEvent(hSend) или SetEvent(hExit)
то нифига ни чего не произойдет ,
причем , я ради эксперемента сделал все это в новом приложении ,
не СОМ то там все работает на ура ...
← →
clickmaker © (2004-04-27 13:30) [1]А SetEvent нормально выполняется, возвращает не 0 ?
← →
JibSkeart © (2004-05-05 11:24) [2]Я уже по другому переделал ,
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.035 c