ActiveX

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

ActiveX

Сообщение kif » 31.03.2005 (Чт) 11:01

Драсте

Проблема следующая:

В моем контроле есть свойство boolean. С его помощью пользователь запускает процедуру (в контроле) или отключает. В этой процедуре есть цикл Do loop.

Проблема: Когда польователь сам запускает процедуру и истанавливает ее - все нормально, но когда он запускает ее и закрывает программу этот цикл do loop остается работать и ... вис.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.

kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

Сообщение kif » 31.03.2005 (Чт) 11:04

т.е. этим свойством процедуру можно остановить, но как отследить уничтожение контрола или закрытие программы или что-то еще?
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 31.03.2005 (Чт) 11:08

kif писал(а):уничтожение контрола


Terminate ?
//<-
Mit freundlichen Grüßen
//->

kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

Сообщение kif » 31.03.2005 (Чт) 11:18

Пишу:
Код: Выделить всё
Private Working As Boolean

Public Property Get Processes() As Boolean
  Processes = Working
End Property

Public Property Let Processes(ByVal vNewValue As Boolean)
  Working = vNewValue
  Proc
End Property

Private Sub Proc()
  Do While Working
  'код...
  Loop
End Sub

Private Sub UserControl_Terminate()
  Working = False
End Sub


не помогает, остается висеть.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.

kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

Сообщение kif » 31.03.2005 (Чт) 11:53

ОЦТЫ, ну помогите же. :cry:
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 31.03.2005 (Чт) 12:59

Если не ошибаюсь Есть следующая последовательность событий

Код: Выделить всё
Form_Unload

UserControl_Terminate

Form_Terminate



В Form_Unload попробуй остановить свой Do While

Хотя что ты задумал мягко говоря ..... :wink:
//<-
Mit freundlichen Grüßen
//->

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 31.03.2005 (Чт) 13:18

kif писал(а):ОЦТЫ, ну помогите же. :cry:


Да держи... :lol:
Вложения
Sample.rar
(4.68 Кб) Скачиваний: 18
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

Сообщение kif » 31.03.2005 (Чт) 14:58

Andrey Fedorov спасибо большое
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 144

    TopList  
cron