Почему Deftype не работает при Option Explicit?

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

Почему Deftype не работает при Option Explicit?

Сообщение A.A.Z. » 03.06.2004 (Чт) 14:57

Модуль:
Код: Выделить всё
Option Explicit
DefLng A-Z

Sub Main()
aaa = 100
bbb = 200
abcde = aaa + bbb
MsgBox VarType(aaa)
MsgBox VarType(bbb)
MsgBox VarType(abcde)
End Sub

"Variable not defined"
Убираем Option Explicit - все три MsgBox'а выдают 3 - vbLong.
Почему тип переменной VB ставит, а Option Explicit ругается? :roll:
Нет меня больше

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

Сообщение GSerg » 03.06.2004 (Чт) 15:02

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

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 03.06.2004 (Чт) 15:04

А-а-а, вот в чем фишка... :roll:
А я думал, MSDN читать не умею... :oops:
Нет меня больше


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 130

    TopList