Ошибки с Option Explicit

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

Ошибки с Option Explicit

Сообщение Rom » 26.03.2005 (Сб) 17:27

Помогите разобраться с одной проблемой.
На моём ПК программа на VBA работает (система Office XP + Win 2k). Если перенести на другой ПК, то вываливается сообщение с ошибкой о том, что такая-то переменная не объявлена. Директивы Option Explicit у меня в программе нет.
Что нужно сделать (или как настроить другой ПК), чтобы везде работал VBA код без явного объявления переменных?
Заранее спасибо.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 26.03.2005 (Сб) 17:30

Вообще-то хорошим тоном в программировании счиатется явное объявление. К тому же, операции с явно объявленными переменными обычно быстрее. Так что проще по моему, просто их объявить.

Rom
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 30.09.2004 (Чт) 18:50

Сообщение Rom » 26.03.2005 (Сб) 17:56

Ну а если всё-таки не объявлять? Просто курсач уже написан и нехочется его вновь переделывать.
Да и вообще почему такое происходит?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 26.03.2005 (Сб) 18:00

Если это курсач, то за неявные переменные я бы тебе больше 2 за него не поставил :)

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 26.03.2005 (Сб) 18:14

во-во!, пока это только Visual Basic!!! а ты на C++ попробуй ченить не объяви!... Так что учитесь все делать правильно с самого начала!
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Re: Ошибки с Option Explicit

Сообщение Sedge » 26.03.2005 (Сб) 19:06

Rom писал(а):На моём ПК программа на VBA работает (система Office XP + Win 2k). Если перенести на другой ПК, то вываливается сообщение с ошибкой о том, что такая-то переменная не объявлена. Директивы Option Explicit у меня в программе нет.

Есть подозрение, что это косяк в коде. Емнис, если нет Option Explicit в модуле, то никакая настройка среды не включит явное объявление переменных. Так что - давай код с подробным текстом ошибки.

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

Сообщение GSerg » 27.03.2005 (Вс) 13:17

Дык это :)
Там в свойствах проекта есть галка Требовать явное объявление переменных :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 27.03.2005 (Вс) 13:26

Насколько я в курсе, она влияет только на добавление Option Explicit во вновь создаваемые модули, а те, которые уже созданы, на нее никак не реагируют... По крайней мере в Office2000 это так.

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 27.03.2005 (Вс) 14:08

В остальных VB это точно также
На это не смотрите! Это не подпись!!!!!!

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

Сообщение Alexanbar » 27.03.2005 (Вс) 21:01

А я, пусть меня другие осудят, но калёным железом готов вижигать OPTION EXPLICIT.

Лично у меня процент ошибок, связанный с недоразуменями по поводу ошибки преобразования данных составляет, ну может, быть, 1%. По крайней мере, он утопает в уровне ошибок по существу.

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

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Re: Ошибки с Option Explicit

Сообщение Vi » 28.03.2005 (Пн) 8:53

Помогите разобраться с одной проблемой.
На моём ПК программа на VBA работает (система Office XP + Win 2k). Если перенести на другой ПК, то вываливается сообщение с ошибкой о том, что такая-то переменная не объявлена. Директивы Option Explicit у меня в программе нет.

Так не бывает. Если переменная не объявлена, но используется, то по умолчанию она будет объявлена и иметь тип Variant (если только в имени не используются спец.символы). Так что дело не в Option Explicit (опция Option Explicit не дала бы в этом случае скомпилировать или запустить файл).

Скорее всего, проблема в том, что переменная не "не объявлена", а не определена. Т.е. не содержит ссылки на объект и поэтому не может быть использована.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН


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

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

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

    TopList