Re: многопоточность в ActiveX
От: senon_evero  
Дата: 02.10.12 09:20
Оценка:
Переделал работу с потоками через boost::thread.
теперь поток запускается, параметры передаются и поток отрабатывает нормально, но!
После того как функциональная часть кода выполняется, я вызываю метод js извещяющий o завершении работы потока, и передаю резальтат выполнения потока в js.
в случае однопоточного COM все отрабатывало отлично. Но теперь после выполнения в дочернем потоке так же вызываю callback, но он не происходит.
Подскажите в чем может быть дело.
Callback делаю так:

CComDispatchDriver clb = V_DISPATCH(&callbackf);
CComVariant param = data;
HRESULT res = clb.Invoke1((DISPID)DISPID_VALUE,&param);

callbackf типа VARIANT передаю при инициализации объекта класса из основного потока, в котором выполняется метод в дочернем потоке.
пробовал при инициализации передавать как сам VARIANT callbackf, так и когда в основном потоке получаю CComDispatchDriver и уже его передаю в конструктор.
И в обоих случаях не происходит callback.
Что я делаю не так?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.