Форум: "Corba";
Текущий архив: 2013.05.19;
Скачать: [xml.tar.bz2];
ВнизIDispatch и Потоки Найти похожие ветки
← →
Gerda (2007-07-16 16:01) [0]В потоке 1 есть IDispatch и делается CoMarshalInterThreadInterfaceInStream
во 2-м потоке
CoGetInterfaceAndReleaseStream и т.д.
но поскольку CoGetInterfaceAndReleaseStream освобождает поток
нельзя повторно использовать методы Idispatch.
Как сделать, чтобы во 2-ьм потоке постоянно можно было бы работать
с IDispatch первого потока
← →
Сергей М. © (2007-07-16 16:19) [1]
> поскольку CoGetInterfaceAndReleaseStream освобождает поток
> нельзя повторно использовать методы Idispatch
Любопытное утверждение ..
← →
Gerda (2007-07-16 16:25) [2]Почему?
окончание CoGetInterfaceAndReleaseStream
четко об этом говорит
← →
Сергей М. © (2007-07-16 16:32) [3]ReleaseStream говорит лишь о разрушении маршал-потока, но не о разрушении объекта.
← →
Gerda (2007-07-16 16:35) [4]О разрушении обьекта не говорилось.
Поскольку маршал-поток разрушен во 2-м потоке,
как повторно в нем использовать IDispatch из первого потока
← →
umbra © (2007-07-16 16:40) [5]
> как повторно в нем использовать IDispatch из первого потока
что значит "повторно"? небольшое количество кода с пояснениями прояснило бы ситуацию.
← →
Gerda (2007-07-16 16:50) [6]Поток 1;
var v : IDispatch;
fStream : pointer; // общая для 2-х потоков
CoMarshalInterThreadInterfaceInStream(IDispatch,V as IUnknown,IStream (fStream));
Поток 2
var pObject : IDispatch;
наступает событие №1
GetInterfaceAndReleaseStream(IStream (fStream), IDispatch, pObject)
pObject.Metod1
маршал-поток fStream разрушен
но поток № 2 не завершился
наступает событие №2, что делать?
← →
Gerda (2007-07-16 17:05) [7]Что не понятно?
← →
SlymRO © (2007-07-17 05:30) [8]наступает событие №2, что делать?
pObject.Metod1
← →
SlymRO © (2007-07-17 05:31) [9]Поток 2
var pObject : IDispatch;
наступает событие №1
GetInterfaceAndReleaseStream(IStream (fStream), IDispatch, pObject)
маршал-поток fStream разрушен
pObject.Metod1
pObject.Metod2
pObject.Metod3
pObject.Metod4
← →
gerda (2007-07-17 09:18) [10]всем СПАСИБО
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2013.05.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c