Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
1-1173269911
ElectriC
2007-03-07 15:18
2007.05.06
Обработка ошибок(Исключений)


15-1175826761
Slider007
2007-04-06 06:32
2007.05.06
С днем рождения ! 6 апреля


15-1176200252
Сергей М.
2007-04-10 14:17
2007.05.06
Цифровые фотокамеры UFO


2-1176487177
I-New
2007-04-13 21:59
2007.05.06
Вопрос про диалог сохранения файла


3-1171611402
zorik
2007-02-16 10:36
2007.05.06
Firebird 2. Declare procedure




   Наверх