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

Вниз

Как использовать IGlobalInterfaceTable ?   Найти похожие ветки 

 
SamProf ©   (2007-03-09 11:57) [0]

Доброго, мастера!
Столкнулся с проблемой, что нельзя из разных потоков использовать оле объект созданный в другом потоке. Перерыв пол инета нашёлЮ что удобнее всего ипользовать некоторый IGlobalInterfaceTable.
Но в силу не образованности не могу понять как его юзать! Может поможете?

Т.е. У меня в главном потоке примерно такой код
var
o:olevariant;
...............
o := createoleobject(name_o);
//вот тут както надо его зарегить в GIT

ну а  в потоке его нужно както получить.....


 
S@shka ©   (2007-03-09 12:34) [1]

Это не поможет?

http://delphimaster.net/view/10-1129985864/


 
SamProf ©   (2007-03-09 12:57) [2]

Это я уже читал.... делаю вот так:

var
ccc1:IDispatch;
 C1: OleVariant;

// в главном:
 CoInitializeEx(nil,COINIT_APARTMENTTHREADED);
 ccc1 := createoleobject(c1name);
 c1:=ccc1;
 C1.initialize(c1.rmtrade, "/DD:\PROGRAM\DAKO\1с\", "");
 AllocStdGit();
 GitMarshal(idispatch,ccc1,cook);

// в потоке:
var
myccc1:IDispatch;
.......
 CoInitializeEx(nil,COINIT_APARTMENTTHREADED);
 GitUnmarshal(0,idispatch,myccc1);
тут усёрано  myccc1 = nil...... :-(((((


Что я не так делаю....



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.035 c
3-1171348665
xKL
2007-02-13 09:37
2007.05.06
Как выловить клик мыши на DBGrid?


15-1176113727
Holy
2007-04-09 14:15
2007.05.06
Свободное ПО


6-1162652416
Vulix
2006-11-04 18:00
2007.05.06
Уведомление о доступе к расшаренным ресурсам


2-1176815237
Romm
2007-04-17 17:07
2007.05.06
Способ записи/чтения файла


15-1176130863
Loginov Dmitry
2007-04-09 19:01
2007.05.06
LDSLogger