Доброго времени суток.
У меня есть небольшая проблема с массивом эу: динамически созданные элементы не хотят выгружаться в нужном мне обработчике. В любом другом - пожалуйста. Элементы загружаются и выгружаются поочерёдно, т.е. пустых индексов нет.
На форме один комбобокс с именем cboSect, и массивы эу: метка lblG и комбобокс cboGroup. Код:
Private Sub cboGroup_Change(Index As Integer)
If Index = cboGroup.Count-1 then
Load lblG(lblG.Count)
Load cboGroup(cboGroup.Count)
cboGroup(cboGroup.Count - 1).Visible = True
lblG(lblG.Count - 1).Visible = True
cboGroup(cboGroup.Count - 1).Move cboGroup(index).Left ,_ cboGroup(index).Top + 400
lblG(lblG.Count - 1).Move lblG(Index).Left, lblG(Index).Top + 400
lblG(lblG.Count - 1).Caption = "Группа " & Index
'тут в созданный комбобокс загружаются строки
'эти строки для примера, т.к. идёт большой код
cboGroup(cboGroup.Count - 1).AddItem "строка1"
cboGroup(cboGroup.Count - 1).AddItem "строка2"
end if
End Sub
Private Sub cboGroup_Click(Index As Integer)
cboGroup_Change Index
End Sub
Private Sub cboSect_Click()
cboSect_Change
End Sub
Private Sub cboSect_Change()
Dim i As Integer
For i = cboGroup.Count - 1 to 1 Step -1
Unload lblG(i)
Unload cboGroup(i)
Next i
cboGroup(0).ListIndex = -1
End Sub
'загрузим что-нибудь в cboSect
Private Sub Form_Load()
cboSect.AddItem "секция 1"
cboSect.AddItem "секция 2"
cboGroup(0).AddItem "строка1"
cboGroup(0).AddItem "строка2"
End Sub
Если код из cboSect_Change перенести в обработку нажатия кнопки, то всё работает, а так нет. Вылезает ошибка "Unable to unload within this context".
Вмосто Index можно писать lblG.Count-2, т.е. обращаемся к предыдущему элементу
Хелп кто чем. Заранее благодарен.