Вниз
Скачать: 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.017 c
8-1156257164
Исмаил
2006-08-22 18:32
2007.05.06
видеограббер


3-1171740637
maxfiles
2007-02-17 22:30
2007.05.06
про 1c 7.7


15-1175764676
Ricks
2007-04-05 13:17
2007.05.06
Редактор значков (ico)


15-1176028307
Piroxyline
2007-04-08 14:31
2007.05.06
PHP и переменные


15-1176187069
Calibr
2007-04-10 10:37
2007.05.06
Температура ЦПУ




   Наверх