Главная страница
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.033 c
14-26746
Dimka Maslov
2003-05-22 19:30
2003.06.09
Политкоррекность


14-26738
Darthman
2003-05-21 12:06
2003.06.09
Rusty Lines


14-26709
SkySlider
2003-05-21 21:29
2003.06.09
IDE RunTime ?


14-26769
Print
2003-05-22 15:08
2003.06.09
Как спрятать чужое приложение?


3-26383
Grac
2003-05-21 10:57
2003.06.09
Зарезервированное слово в запросе