powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Звоночек и слот
3 сообщений из 3, страница 1 из 1
Звоночек и слот
    #39484040
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая необходимость сделать код модульный, но при необходимости использовать форму чтобы визуализировать работу движка. Все таймеры переделываю также в модуль.

Ситуация такая, что мог бы обойтись обычным опросом глобальных переменных и вывести нужную информацию, хотя информация прикольно выглядит, когда она отображает работу движка в реальном времени - а это как минимум 25 кадров в секунду. Изучал C++. И сейчас балуюсь немного элементами из Qt. Автор (преподаватель на ютуб) рассказывает о сообщениях между окнами, элементами. Как бы можно создать слот ожидания и звоночек. И неважно ответят или нет. А в VB6 реально такое реализовать? Мне нужно чтоб при закрытии формы ошибок не возникало, а процесс не прерывался. При открытии, чтоб пользователь видел визуализацию и мог управлять. Управление будет уж точно через глобальную переменную с массивом (из нескольких) классов.
...
Рейтинг: 0 / 0
Звоночек и слот
    #39487922
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточню

События у меня уже вызываются через класс . Вообщем спасибо за это Антонари, Шокер.Про и всем кто помогал. Сначала проблемы с понятием кода "как это работает" были из за причины, что я не знал, что событие может генерировать только класс, а не модуль. Да и все элементы по сути классы.

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

Давайте снова на простом примере:
КЛАСС: MyClass
Код: vbnet
1.
2.
3.
4.
5.
Public Event abc(Parm1 As String)

Public Sub GO()
  RaiseEvent abc("123456789")
End Property



МОДУЛЬ:
Код: vbnet
1.
2.
3.
4.
5.
Public kkk As MyClass

Public Sub Init()
  Set kkk = New MyClass
End Sub



ФОРМА:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private WithEvents kkk1 As MyClass

Private Sub Form_Load()
 Init
 Set kkk1 = kkk
End Sub

Private Sub kkk1_abc(Parm1 As String)
  MsgBox "УРА!"
End Sub

Private Sub Command1_Click()
  kkk.GO
End Sub



Писал из памяти. Вроде как бы должно все работать.
В чем проблема?
Закрываю окно и при вызове kkk.GO из другой формы загружается снова закрытое окно (невидимое) и срабатывает событие которое я ранее обьявил как Private Sub kkk1_abc(Parm1 As String)
Пробовал при Terminate делать Set kkk1 = nothing - не помогает
Не знаю что еще придумать. На форме там и таймера и всякое такое - другие зависимости одним словом.
Задача: Нужно четко чтоб события срабатывали когда окно открыто и не срабатывали когда оно закрыто.
...
Рейтинг: 0 / 0
Звоночек и слот
    #39487925
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну все. Заработало . Я счастлив.
В чем проблема была?
Вместо события Initialize использую теперь Load
Код: vbnet
1.
Set MyPult = HearEvetns


А вместо Terminate использую UnLoad
Код: vbnet
1.
  Set MyPult = Nothing


Разница очень большая. Все отлично работает. Теперь можно и визуализацию делать в любой форме и управление и все что только душа пожелает.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Звоночек и слот
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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