Страница: 1 |
Страница: 1 |
Вопрос: Обьявление переменных!
Добавлено: 02.09.06 00:17
Автор вопроса: ENIX | ICQ: 238819245
Уже как-то не первый раз обьявляю переменные. Но возник вопрос по поводу их обьявления. А именно как знаем если в ВБ не обьявить переменную, то обьявится автоматом как Variant.
К примеру:
Dim Num%
For Num=0 To 10
....
Next
Тут Num как Integer - это понятно. Т.е., если можно так сказать ранне привязывание.
А если так:
For Num%=0 To 10
...lpProcessID(Num)
Next
Насколько эти два варианта разные. Да тут как сказать позднее привязвание как в Objecta'х. Но ведь ей к ней VB привязывает тип Integer. Т.е. варианты одинаковы по своей сути.
Эти варианты конечно внутри Subov или функций. Как-то удобней чтобы там было именно так. Т.е. промежуточные переменные.
Заранее благодарен!
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 02.09.06 02:40
объявляй тип явно и не парься...
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 02.09.06 02:41
option explicit еще не забывай в каждом модудле писать )
Номер ответа: 3
Автор ответа:
ENIX
ICQ: 238819245
Вопросов: 9
Ответов: 76
Профиль | | #3
Добавлено: 02.09.06 20:29
Понял! спс sne)
Номер ответа: 4
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #4
Добавлено: 03.09.06 00:15
Не думаю чтобы VB компилировал циклы через Variant. Даже в IDE он такого не делает. Variant нужен только для работы с объектами (в т.ч. OLE строками) и вряд ли будет использован не по назначению (счётчик цикла и т.д.).
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 04.09.06 10:43
Хе, очень даже делает. Слишком многого вы от компилятора ждете, да и не его это дело как объявлена переменная и зачем. Надо Variant - значит надо.
Хочу заметить только что разговор про ранее и позднее связывание здесь неуместен - речь просто идет о разных типах переменных, а не о способе доступа к ним. И VB использует Variant для IDispatch и BSTR только при присвоении переменной Variant соответствующего значения.
'А если так:
For Num%=0 To 10
...lpProcessID(Num)
Next
Шестой VB не поддерживает инициализацию переменных при объявлении. Если в С++ ты можешь объявить тип счетчика прямо в цикле, то VB6 при наличии Option Explicit просто выдаст тебе ошибку. Однако, если Explicit отсутствует, компилятор типизирует переменную как Integer. Это, можно сказать, исключение из правила. Либо я чего-то недопонимаю.