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

Вниз

Как получить ссылку на интерфейс   Найти похожие ветки 

 
AFrolov ©   (2003-05-28 12:47) [0]

Ситуация в следующем - создал приложение (1), добавил туда Automation Object. Сделал клиента (2), который создается этим первым приложением и ему должна передаваться ссылка на интерфейс создавшего его приложения, т.к. ему надо вызывать некоторые методы именно этого экземпляра приложения. Передать ссылку на интерфейс научился. Остается вопрос как внутри приложения (1) получить ссылку на интерфейс Com-объекта который в нем реализован, что бы передать ее дальше.
Извените если где написал фигню, но, надеюсь что проблема понятна.
Заранее спасибо.


 
AFrolov ©   (2003-05-28 13:38) [1]

?


 
Набережных С. ©   (2003-05-28 17:11) [2]

>как внутри приложения (1) получить ссылку на интерфейс Com-объекта который в нем реализован

Запросить его у объект, реализующего требуемый интерфейс. Как же еще? Странный вопрос, или я чего не понял.


 
Serginio   (2003-05-28 17:21) [3]

Например Self As Idispatch или просто
Если Self Наследник от TAutoObject
А вообще вопрос не понятен приведи немного кода.


 
AFrolov ©   (2003-05-28 17:22) [4]

А как запросить этот объект именно внутри своего приложения(1)?


 
Serginio   (2003-05-28 17:30) [5]

Создай в своем аутоматион объекте метод который запишет Self в глобальную переменную приложения


 
Serginio   (2003-05-28 17:32) [6]

Вернее при создании в Initialize передать ссылку Self переменную или список если мультиинстансе.


 
Serginio   (2003-05-28 17:46) [7]

Все понял тебе нужно в приложении использовать ссылку на интерфейс клиента для обратного вызова. Используй переменную или TList при мультиинстансе и добавляй в него полученные интерфейсы. Если используешь мультиинстансе применяй критические секции для доступа к глобальным переменным.


 
Набережных С. ©   (2003-05-28 17:58) [8]

>AFrolov © (28.05.03 17:22)

Нужно создать этот объект любым удобным способом - хоть через конструктор, хоть через CoClass, хоть через его фабрику, разница не в сути, а в нюансах. Затем у этого объекта запросить интересующий интерфейс - явно, через QueryInterface или GetInterface, или простым присваиванием, предоставив все заботы компилятоу: MyInterface:=MyObject.


 
kull ©   (2003-05-28 18:14) [9]

TObject.GetInterface(...)



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
1-26599
sndanil
2003-05-27 16:14
2003.06.09
Drag&Drop


14-26791
Basic
2003-05-22 21:33
2003.06.09
Что думает сын о матери в...


7-26797
Islander
2003-03-31 09:04
2003.06.09
Выключить компьютер в XP


8-26617
memphis555
2003-02-08 11:23
2003.06.09
Передача изображения


1-26556
OlegM
2003-05-26 07:10
2003.06.09
Как пользоваться ActionList