|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.07.2023, 15:01 | #1 |
Пользователь
Регистрация: 01.11.2012
Сообщений: 15
|
Как передать ссылку на интерфейс при использовании автоматизации OLE
Добрый день всем!
Не определился,в какой раздел занести свой вопрос, поэтому пишу сюда. Вопрос по использованию технологии OLE Automation. Есть интерфейс IWFBP, который непосредственно наследуется от IDispatch. Как я могу ссылку на этот интерфейс передать в стороннюю функцию, а в последующем использовать её? Допустим, у меня сейчас есть следующий код этой функции(пытаюсь использовать тип VARIANT): Код:
Пытался заменить VARIANT WFBL на IDispatch* WFBL, с последующим приведением переданного указателя к указателю на IWBP с помощью dynamic_cast. Предварительно импортировав библиотеку типов из нужной DLL. В этом случае компилятор уже видит Func1, но при написании чего-то вроде WFBL->Func1() во время выполнения вылезает ошибка Access violation с указанием на данную строку. Буду признателен, если кто-то сможет помочь разобраться.
С++ - сила
|
17.07.2023, 12:59 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
VARIANT это union который хранит переменные разного типа.
Прочитайте про поле VARIANT:vt и про VARIANT:Disp |
19.07.2023, 03:27 | #3 |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
Rait-spider, dynamic_cast нельзя использовать с COM-интерфейсами. У них для этого есть метод QueryInterface. Надо как-то так:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как ссылку на изображение передать в аргументах? (React JS) в styled-components в background-image передать ссылку на изображение. | ivan.tiran | JavaScript, Ajax | 2 | 17.02.2020 23:07 |
Передать ссылку в chrome | nibufep | Общие вопросы Delphi | 2 | 13.12.2015 20:43 |
передать ссылку на процедуру в качестве строки | xrob | Общие вопросы Delphi | 5 | 24.02.2013 18:14 |
COM-технология получить ссылку на интерфейс | Sanprof | Общие вопросы Delphi | 3 | 16.07.2010 14:49 |
Как правильно передать через ссылку двумерный динамический массив? | amerhant | Общие вопросы C/C++ | 2 | 21.04.2010 23:50 |