Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.05.19;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2013.05.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
15-1358195403
Юрий
2013-01-15 00:30
2013.05.19
С днем рождения ! 15 января 2013 вторник


2-1350981057
Инокентий
2012-10-23 12:30
2013.05.19
Дешифровка по кодовому слову


2-1351190824
Signal
2012-10-25 22:47
2013.05.19
Как изменить размер изображения TBitmap


15-1358281804
Юрий
2013-01-16 00:30
2013.05.19
С днем рождения ! 16 января 2013 среда


2-1351265795
G_M_S
2012-10-26 19:36
2013.05.19
TStringGrid - обработчик для FixedCols