Аномалия...

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Аномалия...

Сообщение PUNK-GRUNGER » 20.07.2006 (Чт) 13:25

Написал два контрола - один типа текстового поля, но слегка навороченного для форматирования, другой - отображатель этих самых полей. В этот самый "отображатель" в конструктор New добавил функцию AddControl(ByVal Text As String), которая динамически создает новый контрол (первый, типа "текстового поля"), вводит в него информацию и проводят всякие другие работы (с VScroll1 и т.д.).

Так вот. Есть кнопка, в которой написан текст:

Код: Выделить всё
CType(tabChat.TabPages(1).Controls(0), uscChat).AddText("бла бла бла бла бла...")


Работает! Теперь ТОЧНО ТАКАЯ ЖЕ СТРОЧКА (ctrl+c, ctrl+v не должен ничего менять вроде :) ), но в цикле в той же программе (в тоже время, в тот же час, на том же месте) - НЕТ. Причем, я уже мучаюсь несколько часов и никак не могу это победить. Даже не знаю куда копать... Данные в функцию AddText доходят, но контрол не добавляется:

[mycontrol]=new [mycontrol]
...
Me.Control.Add([mycontrol])

На кнопочку нажимаю - все работает... на другую - ничего. Ставлю два MsgBox в начале функции, в конец... на кнопку нажимаю - оба сплывают, а из цикла - только первый... Никаких варнингов, ероров - ничего не происходит. Просто когда доходит до строчка Control.Add программа останавливается... причем никаких On Error, Try... я не ставил.. никакой реакции...

Уже и не знаю на что и кого думать... Поможыти. Может кто имел дело с таким вот?
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.07.2006 (Чт) 18:55

До сих пор не заработало.. Возможен ли вариант, что что-то случилось с VS2003? Не работает даже, вот такая вещь:

Код: Выделить всё
MsgBox("1")
Dim k as New Button
Me.Control.Add(k)
MsgBox("2")


первый месадж вываливается, второй - нет... Ошибок нет, просто контрол не добавляется. Visible, Location - все включено и отстроено... на кнопку жмакаю (сколько угодно раз) - добавляется, из цикла - нет.
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.07.2006 (Чт) 19:21

Все... победил...
Все дело было в том, что надо было юзать BeginInvoke и delegate sub... странно только одно - почему студия не ругалась...
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)


Вернуться в Visual Basic .NET

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

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

    TopList