Странное поведение Visual Basic

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Orion
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.04.2002 (Вт) 16:12
Откуда: Москва

Странное поведение Visual Basic

Сообщение Orion » 04.11.2006 (Сб) 12:43

Создан проект на VB6, содержащий базу данных и использующий ADO. Сначала к файлу БД были прописаны абсолютные пути, что неудобно. После исправления появился странный глюк. Если я дважды щелкаю "мышкой" по файлу проекта, то автоматически загружается среда VB, содержащая мой проект. Все прекрасно запускается и работает. Скомпилированный exe-шник также работает без сбоев. Теперь изменим ситауцию. Вызовем среду VB и уже из нее откроем файл проекта. Появляются сообщения об ошибках, из которых ясно, что файл базы данных ищется по тому абсолютному пути, что был прописан ранее и, как я думал, успешно удален отовсюду, откуда только можно. Скомпилированный дистрибутив также не работает, выдавая ошибку.
Что это может быть? Уже не знаю даже, где искать? :(

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.11.2006 (Сб) 12:46

Когда проект открывается из среды, curdir проекта устанавливается в curdir среды, иначе, в curdir проекта...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Orion
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.04.2002 (Вт) 16:12
Откуда: Москва

Сообщение Orion » 04.11.2006 (Сб) 13:22

А что это за переменная curdir? И где ее найти? И в среде, и в проекте?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 04.11.2006 (Сб) 14:34

В проекте она так и называется - CurDir.
В среде переменная будет такой, какой задана рабочая папка у ярлыка для открытия VB (или у открываемого файла проекта).

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 04.11.2006 (Сб) 19:09

Нужно определять путь к базе во время выполнения программы

Бяка
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 21.09.2005 (Ср) 21:28

Сообщение Бяка » 10.11.2006 (Пт) 2:14

вот у меня тоже странное поведение ВБ !
при запуске проекта, если вб нарывается на ошибку и нестоит On Error ... вб тупо закрывается ! :evil: чё за ...?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 10.11.2006 (Пт) 3:24

Бяка, в каком месте ошибка? Код в студию.

Если не знаешь, в каком месте ошибка - пиши лог по выполнению каждой строки программы.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 10.11.2006 (Пт) 4:52

А так же оцени F8, временами помогает.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 10.11.2006 (Пт) 20:23

Для подвеса в некоторой глючности в VB
GetKeyboardLayot - и вылетает VB (а думали, птичка?)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 11.11.2006 (Сб) 0:27

Debugger - ещё один последователь Pantalone...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Бяка
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 21.09.2005 (Ср) 21:28

Сообщение Бяка » 11.11.2006 (Сб) 1:40

Amed писал(а):Бяка, в каком месте ошибка? Код в студию.

Если не знаешь, в каком месте ошибка - пиши лог по выполнению каждой строки программы.

в каком месте ошибка я знаю!
например в: i =1/0 ВБ выдает сообщение об ошибке и если нажать "енд" то вб вылетает! если нажать "дебаг" вб показывает место ошибки и зависает! :shock:
дык, эта бяка только в этом проекте таврится ! в остальных всё нормально!
да и интересно то что вылетает только после того как я в запущенном проекте подключусь к БД, а до подключения к БД из запущенного проекта ВБ нормально обрабатывает ошибки

NashRus
Постоялец
Постоялец
 
Сообщения: 388
Зарегистрирован: 18.03.2006 (Сб) 1:16

Сообщение NashRus » 11.11.2006 (Сб) 1:43

Debugger - ещё один последователь Pantalone...


они вокруг нас, они везде, и имя им - пользователи.....

Бяка
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 21.09.2005 (Ср) 21:28

Сообщение Бяка » 11.11.2006 (Сб) 1:46

кЫсЫтате DebuggerЫ тож непомогают! Висняк начинается страшный!


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

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

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

    TopList