powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как зажечь событие через интерфейс?
5 сообщений из 5, страница 1 из 1
Как зажечь событие через интерфейс?
    #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
Как зажечь событие через интерфейс?
    #32683023
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "передать событие через интерфейс наружу" ?

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

Что Вы хотите сделать ?
...
Рейтинг: 0 / 0
Как зажечь событие через интерфейс?
    #32683024
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. Интерфейсы события не поддерживают.
...
Рейтинг: 0 / 0
Как зажечь событие через интерфейс?
    #32683043
MegaDimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Alexey Kudinov:
Я хочу чтобы событие из компонента передавалось клиенту. Ну например клиент послал запрос на обработку немеренного количества данных, а по окончанию компонент сгенерировал для него событие об окончании.
Я знаю, конечно, можно это сделать через классы без описания интерфейса, но хочется иметь хоть возможность в дальнейщем добавлять другие реализации интерфейса, что без его объявления будет невожможно.
...
Рейтинг: 0 / 0
Как зажечь событие через интерфейс?
    #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
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как зажечь событие через интерфейс?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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