Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как зажечь событие через интерфейс? / 5 сообщений из 5, страница 1 из 1
07.09.2004, 11:48:52
    #32682846
MegaDimon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зажечь событие через интерфейс?
Есть интерфейс и класс который его реализует, в классе есть событие. Как можно передать событие наружу через интерфейс?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 ' интерфейс ITest 
Option Explicit

Public Sub HelloWorld()
End Sub



 ' класс CTest 
Option Explicit

Implements ITest
Public Event JustDoIt()

Private Sub ITest_HelloWorld()
    MsgBox "CTest Hello World!!! Prepare to event..."
    RaiseEvent JustDoIt             ' как его передать через интерфейс наружу ? 
End Sub
...
Рейтинг: 0 / 0
07.09.2004, 12:35:49
    #32683023
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зажечь событие через интерфейс?
Что значит "передать событие через интерфейс наружу" ?

1 Есть интерфейсы. Классы их имплементируют.
2 Есть события. Они поднимаются одними классами и перехватываются другими.

Что Вы хотите сделать ?
...
Рейтинг: 0 / 0
07.09.2004, 12:35:58
    #32683024
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зажечь событие через интерфейс?
Никак. Интерфейсы события не поддерживают.
...
Рейтинг: 0 / 0
07.09.2004, 12:42:23
    #32683043
MegaDimon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зажечь событие через интерфейс?
Для Alexey Kudinov:
Я хочу чтобы событие из компонента передавалось клиенту. Ну например клиент послал запрос на обработку немеренного количества данных, а по окончанию компонент сгенерировал для него событие об окончании.
Я знаю, конечно, можно это сделать через классы без описания интерфейса, но хочется иметь хоть возможность в дальнейщем добавлять другие реализации интерфейса, что без его объявления будет невожможно.
...
Рейтинг: 0 / 0
07.09.2004, 12:57:30
    #32683078
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зажечь событие через интерфейс?
MegaDimonДля Alexey Kudinov:
Я хочу чтобы событие из компонента передавалось клиенту. Ну например клиент послал запрос на обработку немеренного количества данных, а по окончанию компонент сгенерировал для него событие об окончании.
Я знаю, конечно, можно это сделать через классы без описания интерфейса, но хочется иметь хоть возможность в дальнейщем добавлять другие реализации интерфейса, что без его объявления будет невожможно.
Понятно. Antonariy уже сказал, что описания событий в интерфейсе не поддерживаются и это, увы, так.
Для Вашего примера, на клиенте Вам придется написать
Код: plaintext
1.
2.
3.
4.
5.
Dim WithEvents Obj As CTest  ' не as ITest 

Private Sub Obj_JustDoIt()
 'Обработка события 
End Sub
п.э. приходится искать обходные пути. Например пусть события всегда поднимает какой-то один определенный класс, управление которым осуществляется через свойства/методы интерфейса.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как зажечь событие через интерфейс? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]