Форум: "Основная";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
ВнизКак получить ссылку на интерфейс Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c