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

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 31.03.2005 (Чт) 23:15
Я искал, но чё-то не нашел.
Вопрос следующий.
Мне нужно во время работы программы пересоздавать массив контролов, создаю его так:
- Код: Выделить всё
for i=1 to 10
load MyControl(i)
next
а как мне убить все элементы кроме нулевого?
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
vvs_adm
-
- Гуру

-

-
- Сообщения: 1492
- Зарегистрирован: 03.02.2005 (Чт) 3:45
- Откуда: оттуда ;)
-
vvs_adm » 31.03.2005 (Чт) 23:16
Упорно видать искал

Попробуй UnLoad, может и поможет...
-
kif
-
- Постоялец

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 31.03.2005 (Чт) 23:18
Пробывал, пишет, что Unload не используется в этом контексте.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
BV
-
- Thinker

-

-
- Сообщения: 3987
- Зарегистрирован: 12.09.2004 (Вс) 0:55
- Откуда: Молдавия, г. Кишинёв
-
BV » 31.03.2005 (Чт) 23:26
Тогда может так:
- Код: Выделить всё
Set MyControl(i) = Nothing
-
kif
-
- Постоялец

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 31.03.2005 (Чт) 23:44
- Код: Выделить всё
Set MyControl(i) = Nothing
не помогает.
- Код: Выделить всё
For i = 1 To M_S
Unload wsk(i) - у меня все работает...
Next
тоже не работает.
может это из-за того, что это в ActiveX Control?
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
vvs_adm
-
- Гуру

-

-
- Сообщения: 1492
- Зарегистрирован: 03.02.2005 (Чт) 3:45
- Откуда: оттуда ;)
-
vvs_adm » 31.03.2005 (Чт) 23:47
Если что-то было загружено методом Load, то это потом можно выгрузить нафиг методом Unload, а раз у тебя не работает, то кроме "Код в студию" сказать нечего...
-
vvs_adm
-
- Гуру

-

-
- Сообщения: 1492
- Зарегистрирован: 03.02.2005 (Чт) 3:45
- Откуда: оттуда ;)
-
vvs_adm » 31.03.2005 (Чт) 23:51
BV писал(а):Тогда может так:
- Код: Выделить всё
Set MyControl(i) = Nothing
Так ты тока потеряешь связь с контролом и ищи его потом - свищи

-
kif
-
- Постоялец

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 01.04.2005 (Пт) 0:02
- Код: Выделить всё
Private Sub CountControl()
Dim i As Integer
Dim P As Long
Dim K As Long
Dim dd As Image
For i = ImageWork.Count - 1 To 1 Step -1
Set ImageWork(i) = Nothing
Next
K = Int(UserControl.Width / 225) - 1
For i = 1 To K
Load ImageWork(i)
ImageWork(i).Top = 0
ImageWork(i).Left = P
ImageWork(i).Visible = True
P = P + 225
Next
End Sub
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
kif
-
- Постоялец

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 01.04.2005 (Пт) 0:05
фунцкия CountControl вызывается каждый раз при resize UserControlа.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
kif
-
- Постоялец

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 01.04.2005 (Пт) 0:28
- Код: Выделить всё
Dim i As Integer
Dim P As Long
Dim K As Long
For i = ImageWork.Count - 1 To 1 Step -1
Unload ImageWork(i)
Next
K = Int(UserControl.Width / 225) - 1
For i = 1 To K
Load ImageWork(i)
ImageWork(i).Top = 0
ImageWork(i).Left = P
ImageWork(i).Visible = True
P = P + 225
Next
ошибка выскакивает при повторном вызове процедуры когда создано 5 элементов.
невозможно использовать unload в данном контексте
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
vvs_adm
-
- Гуру

-

-
- Сообщения: 1492
- Зарегистрирован: 03.02.2005 (Чт) 3:45
- Откуда: оттуда ;)
-
vvs_adm » 01.04.2005 (Пт) 0:32
Ну так соглашайся на отладку и посмотри, чему у тебя равет в этот момент (I), похоже ты пытаешься Unload-ить несуществующий контрол... Т.е. наверное некорректно заполняется ImageWork.Count
-
kif
-
- Постоялец

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 01.04.2005 (Пт) 0:35
Да запускал я в режиме отладки.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
vvs_adm
-
- Гуру

-

-
- Сообщения: 1492
- Зарегистрирован: 03.02.2005 (Чт) 3:45
- Откуда: оттуда ;)
-
vvs_adm » 01.04.2005 (Пт) 0:38
А она (прога) у тя ни один контрол анлоадить не хочет, или когда как?
-
kif
-
- Постоялец

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 01.04.2005 (Пт) 0:48
0-й создан в десигн тайм
создаю еще 3 - всего 4
в цикле с конца тормозит на 4-м
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
-
kif
-
- Постоялец

-
-
- Сообщения: 736
- Зарегистрирован: 10.12.2001 (Пн) 18:06
- Откуда: Украина, Одесса
-
kif » 01.04.2005 (Пт) 0:51
kif писал(а):0-й создан в десигн тайм
создаю еще 3 - всего 4
в цикле с конца тормозит на 4-м
т.е. по индексу 3
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, PetalBot, Yandex-бот и гости: 10