Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |
[Win32] Спорный вопрос по ActiveX. 28.08.01 12:58 Число просмотров: 835
Автор: +. Статус: Незарегистрированный пользователь
|
> Постараюсь сформулировать вопрос как можно короче. > Предположим, что у нас есть некий ActiveX Control, у > которого есть методы GetStatus() и > SetStatus(int iNewStatus). Таким образом можно задать > какое-нибудь число-статус, а потом его считать. > Далее... > Запускается Программа1, которая создает Instance этого > Controlа, а потом вызывает функцию SetStatus с каким-нибудь > начальным значением. > После этого запускается некая другая Программа2. Вопрос > следующий: можно ли из Программы2 узнать какое значение > статуса было установлено Программой1?
Dlia etogo tebe nado sozdat` singletone object. I togda tolko odna instance objecta budet suchestvovat` v nezavisimosti ot togo skolko raz sozdavalsia object (CoCreateInstance() vsegda budet vozvrachat` pointer na tvoi object kotoryi uzhe sozdan). Dlia etogo esli naprimer utebia inproc server (t.e. DLL) togda vnutri foo DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
proveria esli global object uzhe suchestvuet togda vozvrachaii ego pointer.
global pointer mozhesh hranit v shered memory:
#pragma data_seg(".shared")
IUnknown* pSharedVar = 0;
#pragma data_seg()
takzhe v tvoem proekte v ".DEF" file dobav`
SECTIONS
.shared READ WRITE SHARED
voobzhem ideia takaia.
> > Основываясь на своих не очень продвинутых знаниях Win32, > COM и ActiveX я могу только заключить, что этого сделать > нельзя, но неужели все так плохо на самом деле? > А вы что скажете? Помогите пожалуйста разобраться с > проблемой...
|
|
<programming>
|
[Win32] Спорный вопрос по ActiveX. 28.08.01 03:32
Автор: BRA Статус: Незарегистрированный пользователь
|
Постараюсь сформулировать вопрос как можно короче. Предположим, что у нас есть некий ActiveX Control, у которого есть методы GetStatus() и
SetStatus(int iNewStatus). Таким образом можно задать какое-нибудь число-статус, а потом его считать.
Далее...
Запускается Программа1, которая создает Instance этого Controlа, а потом вызывает функцию SetStatus с каким-нибудь начальным значением.
После этого запускается некая другая Программа2. Вопрос следующий: можно ли из Программы2 узнать какое значение статуса было установлено Программой1?
Основываясь на своих не очень продвинутых знаниях Win32, COM и ActiveX я могу только заключить, что этого сделать нельзя, но неужели все так плохо на самом деле?
А вы что скажете? Помогите пожалуйста разобраться с проблемой...
|
 |
[Win32] Спорный вопрос по ActiveX. 28.08.01 12:58
Автор: +. Статус: Незарегистрированный пользователь
|
> Постараюсь сформулировать вопрос как можно короче. > Предположим, что у нас есть некий ActiveX Control, у > которого есть методы GetStatus() и > SetStatus(int iNewStatus). Таким образом можно задать > какое-нибудь число-статус, а потом его считать. > Далее... > Запускается Программа1, которая создает Instance этого > Controlа, а потом вызывает функцию SetStatus с каким-нибудь > начальным значением. > После этого запускается некая другая Программа2. Вопрос > следующий: можно ли из Программы2 узнать какое значение > статуса было установлено Программой1?
Dlia etogo tebe nado sozdat` singletone object. I togda tolko odna instance objecta budet suchestvovat` v nezavisimosti ot togo skolko raz sozdavalsia object (CoCreateInstance() vsegda budet vozvrachat` pointer na tvoi object kotoryi uzhe sozdan). Dlia etogo esli naprimer utebia inproc server (t.e. DLL) togda vnutri foo DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
proveria esli global object uzhe suchestvuet togda vozvrachaii ego pointer.
global pointer mozhesh hranit v shered memory:
#pragma data_seg(".shared")
IUnknown* pSharedVar = 0;
#pragma data_seg()
takzhe v tvoem proekte v ".DEF" file dobav`
SECTIONS
.shared READ WRITE SHARED
voobzhem ideia takaia.
> > Основываясь на своих не очень продвинутых знаниях Win32, > COM и ActiveX я могу только заключить, что этого сделать > нельзя, но неужели все так плохо на самом деле? > А вы что скажете? Помогите пожалуйста разобраться с > проблемой...
|
|
|