Форум: "Основная";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
ВнизКак использовать 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.053 c