Главная страница
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.024 c
3-26371
Snake
2003-05-19 14:00
2003.06.09
Пожалуйста, помогите составить запрос...


3-26382
Caesar
2003-05-21 10:42
2003.06.09
Не работает запрос


1-26535
Marina_S
2003-05-27 19:40
2003.06.09
Оси координат в компоненте TChart


14-26792
Might
2003-05-23 17:06
2003.06.09
Построение графического редактора


1-26596
Valeris
2003-05-28 16:25
2003.06.09
Как узнать какие функции экпортирует DLL