![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Guest |
|
|||
|
Unregistered |
Короче победилась ента ошибка
Заменил [ComImport(), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), GuidAttribute("A7B88841-A812-11cf-8011-00A0C90A8F78")] на [Guid("A7B88841-A812-11cf-8011-00A0C90A8F78")] public interface IDCCMan {} и использовал FIDCCMan = Activator.CreateInstance(tmpIDCCManType) as CSyncPocketLib.IDCCMan; Спасибо. Но надо еще проверить работу событий. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Скажи, мне что на каждое событие IDCCManSink писать делегат?
[CODE] public delegate void DelegateLogIpAddr(uint dwIpAddr); public delegate void DelegateLogTerminated(); public delegate void DelegateLogActive(); public delegate void DelegateLogInactive(); public delegate void DelegateLogAnswered(); public delegate void DelegateLogListen(); public delegate void DelegateLogDisconnection(); public delegate void DelegateLogError(); [Guid("A7B88840-A812-11cf-8011-00A0C90A8F78")] public interface IDCCManSink { event DelegateLogIpAddr EventLogIpAddr; void OnLogIpAddr(uint dwIpAddr); event DelegateLogTerminated EventLogTerminated; void OnLogTerminated(); event DelegateLogActive EventLogActive; void OnLogActive(); event DelegateLogInactive EventLogInactive; void OnLogInactive(); event DelegateLogAnswered EventLogAnswered; void OnLogAnswered(); event DelegateLogListen EventLogListen; void OnLogListen(); event DelegateLogDisconnection EventLogDisconnection; void OnLogDisconnection(); event DelegateLogError EventLogDisconnection; void OnLogError(); } |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
нет, я бы так сделал: public delegate void DelegateLogIpAddr(uint dwIpAddr); public delegate void DelegateGenericLog(); [Guid("A7B88840-A812-11cf-8011-00A0C90A8F78")] public interface IDCCManSink { event DelegateLogIpAddr EventLogIpAddr; void OnLogIpAddr(uint dwIpAddr); event DelegateGenericLog EventLogTerminated; void OnLogTerminated(); event DelegateGenericLog EventLogActive; void OnLogActive(); event DelegateGenericLog EventLogInactive; void OnLogInactive(); . . . } -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Так, а в классе как описать ??
Извини за такие вопросы, но не врубаюсь в MSDN-ое описание. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
Объясни какую роль этот интерфейс выполняет или ссылку дай где почитать, а то так ни че не могу точно сказать.
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
||||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
вроде так:
и перед передачей в Advise CDCCManSink DCCManSink = new CDCCManSink(); .... настройка событий FDCCMan.Advise(DCCManSink, ptr) или если у тебя сам компонент будет реализовывать IDCCManSink способом описанным выше, тогда просто FDCCMan.Advise(this, ptr) -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Advise у меня проходит. Мне не понятно следующее:
когда я кладу компонент на форму, то в инспекторе объектов появляются события OnLogIpAddrEvent, OnLogTerminatedEvent... а при 2-ом клике в редакторе кода
Так вот упоминания OnLogIpAddr или OnLogTerminated нет. Может этого не хватает? |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Все в общем-то получилось после следующего объявлении интерфейса
Дело в том, что IDCCManSink - это CОМ интерфейс. Всем спасибо, особенно cully |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |