1 / 1 / 2
Регистрация: 23.09.2012
Сообщений: 70
1

Использование интерфейсов

23.09.2012, 06:08. Показов 1362. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
У меня имеется COM библиотека написанная на C#. Я ее подключил к приложению(написанному на C++ Builder 6) и работает нормально. Но если включить логи, то выдает данное сообщение:
Ошибка на сервере. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))
at Module.ModuleEvents.GetModuleMessageEvent(Object Message)
at Module.Module.ModuleThread_ReceiveMessage()
at Module.Module.ModuleThread()
В объекте Module имеется функция
C++
1
add_GetModuleMessageEvent(_EventDelegate * Event)
Как я понимаю, то данная ошибка возникает из-за отсутствия добавленного события в данную функцию.
В header файле библиотеки имеется вот такое описание функции
C++
1
virtual HRESULT STDMETHODCALLTYPE add_GetModuleMessageEvent(Module_tlb::_EventDelegate* value/*[in]*/) = 0; // [-1]
и вот такое
C++
1
2
3
4
5
6
7
8
template <class T> HRESULT __fastcall
_ModuleDispT<T>::add_GetModuleMessageEvent(Guardagent2_tlb::_EventDelegate* value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("add_GetModuleMessageEvent"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Module_tlb::_EventDelegate*)value /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}
Как я понимаю, то это уже интерфейс.
В самом исходнике библиотеки имеется про данную функцию только вот это
C#
1
2
3
4
    public interface ModuleEvents
    {
        void GetModuleMessageEvent([MarshalAs(UnmanagedType.IDispatch)] object Message);
    }
Как заставить работать корректно приложение? Я понимаю, что нужно добавить метод типа _EventDelegate, в описание он просто объявлен как интерфейс и не более.
Как именно объявить эти самые интерфейсы?
Заранее большое спасибо за ответы!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2012, 06:08
Ответы с готовыми решениями:

Разработка интерфейсов, использование механизма наследования интерфейсов и применение их в программах
Имеется код, необходимо реализовать, и протестировать эти интерфейсы IComparable (сравнимый),...

Использование интерфейсов
Реализовать иерархию классов Фигура - Круг – Квадрат (данные-координаты). Определить и...

Использование интерфейсов C#
нужна помощь необходимо описать правила использования интерфейсов.

Использование интерфейсов
Правильно ли я понял, что интерфейс можно использовать тогда, когда в конкретный класс, надо...

0
23.09.2012, 06:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2012, 06:08
Помогаю со студенческими работами здесь

Использование интерфейсов
Реализовать иерархию классов. Определить и использовать интерфейс IFigure (Фигура). В интерфейс...

Использование интерфейсов
Реализовать иерархию классов из индивидуального задания. Определить и использовать интерфейс...

Использование интерфейсов
Реализовать иерархию классов из индивидуального задания. Определить и использовать интерфейс...

Использование интерфейсов
Реализовать иерархию классов Квадрат – Треугольник. Вместо абстрактного класса определить и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru