![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Evropeec |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 20.2.2007 Репутация: нет Всего: нет |
Помогите,
как можно сделать вызов из dll события в основной программе. т.е. есть интерфейс с событием
в классе я его прописываю и где-то вызываю
это всё находится в dll, теперь, в вызывающей программе есть класс
мне надо что-бы по событию "RaiseEvent SetScanResult(Result)" вызывался метод "GetScanResult" ошибка вылетает в "ev.AddEventHandler(Me, D)" InvalidProgrammException |
||||||
|
|||||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Вместо вот этог всего
Есть стандартные средства
Если я правилно всё понял. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| Evropeec |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 20.2.2007 Репутация: нет Всего: нет |
к сожалению ev имеет тип System.Reflection.EventInfo, а не IPeripherie. У System.Reflection.EventInfo нет ни свойства, ни метода SetScanResult.
|
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
Evropeec, есть два варианта:
1. Кривой: выброси интерфейс, т.к. ты его не используешь. Работай только через reflection, и передавай в ev.AddEventHandler( ) LibraryInterface вместо Me. 2. Вынеси IPeripherie и DGetScanResult в отдельную сборку. Нормально обзови событие (SetScanResult -> ScanCompleted), явно пропиши ему тип DGetScanResult (-> ScanCompletedEventHandler). И спокойно подписывайся через AddHandler CType(LibraryInterface, IPeripherie).SetScanResult, AddressOf GetScanResult. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Пардон: не внимательно прочитал код
Принцип всё равно тот же. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |