Глюк VB6.. не первый раз

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

Сообщение homeworld » 30.05.2008 (Пт) 11:03

попробуй переустановить VB

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.05.2008 (Пт) 11:07

Какие компоненты используешь?
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.05.2008 (Пт) 13:11

Тогда ищи ошибку в компонентах.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.05.2008 (Пт) 13:21

Не сошлемся.
У всех VB работает, так что причина ошибки в коде.
Lasciate ogni speranza, voi ch'entrate.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Сообщение arthur2 » 31.05.2008 (Сб) 21:35

Самописный контрол перестает работать, зарисовывается косыми гор. линиями. закрываю дизайнер формы, открываю, -все нормально, до следующего добавления какого-то контрола.

Это не ошибка, это всё нормально. Просто, когда ты добавляешь что-то на форму, прерывается какая-то прописаная тобой связь. И происходит то же самое, как если бы ты открыл контрол в дизайнере - на форме он становится недоступен.

Ну например, контрол пользуется функцией из модуля, внутри которого есть ссылка на форму.

Модуль:
Код: Выделить всё
Public Sub test()
'
End Sub

Public Sub lalala()
Dim f As Form
Set f = form1
End Sub


Контрол:
Код: Выделить всё
Private Sub UserControl_Initialize()
  test
End Sub

Теперь, если ты положишь этот контрол на форму form1, он будет вести себя именно так, как ты описал.

А вот про мои исчезающие контролы:
У меня в одном проекте есть какая-то хитрая перекрёстная ссылка, которую я ни как не могу вычислить: отрываю проект и если сразу же пытаюсь его запустить, почти всегда (но не всегда, что любопытно!) вылетает табличка "Двойное определение!". Но бейсик затем ни куда носом не тычет! А со второй попытки проект запускается и больше ни разу эта фигня меня не беспокоит (пока не закрою и снова не открою проект).

Если я, забыв об этой странной особенности, не сделаю пробного запуска и сразу открою дизайнер формы, всё накрывается медным тазом: несколько контролов пропадает (в лог летит что-то о невозможности их создать), приходится выходить без сохранения и заходить снова.

В скомпилированном проекте ни разу этот глюк не вознкикал. Живёт он в одном-единстенном проекте, а сам этот проект былвал и на разных машинах и даже под разными версиями бейсика (русской и английской).

Есть ещё один странный глюк - если я по shif+F2 перехожу к определению констаннты из Enum, бейсик может перестать узнавать эти константы - говорит, что они не определены. Приходится перезапускать проект.
Артур
 
   


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

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

Сейчас этот форум просматривают: Google-бот и гости: 20

    TopList