Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
11.12.2013, 23:02
|
|||
---|---|---|---|
|
|||
Как передать в COM интерфейс, если обращения идут через InvokeMember ? |
|||
#18+
Приветствую. Изначально было наверное не правильно создавать COM через позднее связывание и затем вызывать его методы через InvokeMember. Но сейчас, пожалуй, уже поздно все переделывать заново. Подскажите как быть пожалуйста. Имеется COM объект в DLL. Написан на Delphi7. В C# он используется так: Код: c# 1. 2. 3. 4.
Сейчас нужно добавить к нему возможность, чтобы он вызывал методы сервера (ну т.е. того, кто держит в себе этот COM объект) Для этого, доработал COM объект, описав в его TLB дополнительный интерфейс Код: pascal 1. 2. 3.
А также, в основной его интерфейс добавил метод инициализации коллбэка Код: pascal 1.
После чего, импортировал в проект VS эту DLL с COMом внутри. Благодаря чему получил доступ к описанию интерфейса. Затем (в VS) создал класс, реализующий этот интерфейс. Создаю этот объект. И пытаюсь передать его в COM через InvokeMember Код: c# 1. 2.
ииииии. Не работает блин. Вылетает ошибка: Код: c# 1.
и его innerException: Код: c# 1.
Подскажите пожалуйста, как надо правильно ! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.12.2013, 23:19
|
|||
---|---|---|---|
|
|||
Как передать в COM интерфейс, если обращения идут через InvokeMember ? |
|||
#18+
Вот как интерфейс описан в Delphi Код: pascal 1. 2. 3. 4. 5. 6. 7. 8.
и описание импортированной библиотеки, как оно видится в VS Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1403522]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 138ms |
0 / 0 |