Option Explicit

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

Option Explicit

Сообщение arthur2 » 24.11.2010 (Ср) 22:28

Только что выловил классический баг с неявно объявленной переменной - в имени была опечатка. НО - Option Explicit в модуле прописано! Как такое может быть?
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Option Explicit

Сообщение Хакер » 24.11.2010 (Ср) 22:29

Код в студию.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Re: Option Explicit

Сообщение arthur2 » 24.11.2010 (Ср) 22:38

Видимо, глюк :) В одном-единственном модуле в любом месте бейсик позволял объявить переменную неявно.

Я стёр несколько пустых строк после Option Explicit а потом вернул назад - глюк рассосался. Повторить фокус - не удаётся :)
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Option Explicit

Сообщение Хакер » 24.11.2010 (Ср) 22:39

Небезопасные действия (GetMem, PutMem, CopyMemory и тому подобное) в коде есть? Пытался отлаживать код из под среды?

Если так, скорее всего, твоя код попортил память самой среды, что и вызвало такое. Советую просмотреть свой код на предмет неправльных адрес, плюс перезапускать студию после опасных отладочных запусков.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Re: Option Explicit

Сообщение arthur2 » 24.11.2010 (Ср) 22:44

Да нет, вроде - ничего опасного в коде не было. Чисто алгоритм, из апи только GetDIBits :D
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Option Explicit

Сообщение Хакер » 25.11.2010 (Чт) 2:40

Она опасна.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Re: Option Explicit

Сообщение arthur2 » 25.11.2010 (Чт) 6:43

Ну да - если буфер байтов короткий. Но буфер, вроде, тоже нормальный.
Артур
 
   

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Option Explicit

Сообщение Хакер » 25.11.2010 (Чт) 7:05

Если указатель неправильный.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Re: Option Explicit

Сообщение arthur2 » 25.11.2010 (Чт) 7:11

Функция заполняет буфер правильно - значит указатель на буфер правильный.
Артур
 
   

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Option Explicit

Сообщение Antonariy » 25.11.2010 (Чт) 9:50

Хакер писал(а):Она опасна.

Изображение
Лучший способ понять что-то самому — объяснить это другому.


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

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

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

    TopList  
cron