powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / COM.IDispatch
3 сообщений из 3, страница 1 из 1
COM.IDispatch
    #32145687
?Alexis?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем
Такой вопрос:
Есть AutomationObject, реализующий 2 интерфейса
IMyInterface1,
IMyInterface2
унаследованы оба от IDispatch, соответственно.
При этом IMyInterface1 является интерфейсом по умолчанию (Default)
Есть скриптовый язык VB Script (или даже в Delphi через OleVariant), есть
функция CreateObject("Имя") (CreateOleObject)
При вызове методов IMyInterface1 созданного объекта (Т.е интерфейса по
умолчанию), созданного объекта, все в порядке.
А как, каким образом можно вызывать методы IMyInterface2
...
Рейтинг: 0 / 0
COM.IDispatch
    #32145801
Предводитель команчей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет. Я делал так (правда на Билдере и через раннее связывание)

IMess *pMes1 = NULL;
IUnknown *pUnk = NULL;

msg = CoMess::Create();
if (msg)
hr = msg->SetVisible(-1); // Работа с методами через экземпляр класса

msg->QueryInterface(IID_IUnknown, (void**)&pUnk); // получение IUnknown
pUnk->QueryInterface(IID_IMess, (void**) &pMes1); // получение нужного интерфейса

Удачи
...
Рейтинг: 0 / 0
COM.IDispatch
    #32145803
Фотография maloi_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Delphi можно просто использовать QueryInterface или оператор AS для перехода к другому интерфейсу. А для VBScript наверно придеться перекрывать IDispatch.Invoke и ITypeInfo. А вообще вся проблема в том, что в Delphi редактор библиотеки типов не умеет генерить объекты с реализацией нескольких интерфейсах.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / COM.IDispatch
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]