Передать событие из формы классу.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Передать событие из формы классу.

Сообщение Matew » 15.10.2008 (Ср) 4:31

Пишу длл. Есть публичный класс. В нем такой код:
Код: Выделить всё
Public WithEvents frmMain As Form ' нельзя сразу описать тип формы

Private Sub Class_Initialize()
    Set frmMain = New frmMain1
End sub
Private Sub frmMain_evRun()
debug.print "Ура!" ' как отловить это событие?
End sub

В форме frmMain1
Код: Выделить всё
Public Event evRun()

Как отловить "свое" событие формы?
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Передать событие из формы классу.

Сообщение tyomitch » 15.10.2008 (Ср) 8:34

Matew писал(а):
Код: Выделить всё
Public WithEvents frmMain As Form ' нельзя сразу описать тип формы


А надо.
Почему нельзя?
Изображение

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Передать событие из формы классу.

Сообщение Sebas » 15.10.2008 (Ср) 8:35

ТЫ же написал что нельзя.

только так

Public WithEvents frmMain As frmMain1 ' можно сразу описать тип формы
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Передать событие из формы классу.

Сообщение Sebas » 15.10.2008 (Ср) 8:37

2tyomitch

ух, новая фича форума. Теперь он(форум) при отправке ответа предупреждает, что в тему ответили пока я писАл)
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Re: Передать событие из формы классу.

Сообщение Matew » 15.10.2008 (Ср) 9:06

Нельзя Public, а мне оказывается и не надо было :) .
Спасибо!
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Передать событие из формы классу.

Сообщение Antonariy » 15.10.2008 (Ср) 9:09

tyomitch писал(а):
Matew писал(а):
Код: Выделить всё
Public WithEvents frmMain As Form ' нельзя сразу описать тип формы


А надо.
Почему нельзя?

А почему можно? Класс Form не является ActiveX-классом, он приватен для VB. Соответственно нельзя объявить его как Public.
Можно объявить в классе собственное событие и генерировать его в нужном событии формы.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 20

    TopList