- Код: Выделить всё
MsgBox "Пожалуйста, укажите временной интервал правильно. Начальное и конечное время должно отличаться!", vbCritical, "Анализ"
(Как вообще MsgBox может вызвать ошибку переполнения, кроме как если не переопределена константа vbCritical на значение превышающее м/з для типа Long)
Так вот я решил посмотреть, что будет с другими вызовами мсгбокса’а. Выяснилось, что везде, где нужно показать сообщение программа вылетает с ошибкой 6.
Ну, думаю, глюк есть глюк, перезагрузка всё поправит. Ради интереса создал новый проект, написал всего одну строчку кода – вызов MsgBox. Запустил – Run-Time Error 6 Overflow. В общем, что-то непонятное творилось. Попробовал вызвать MsgBox из Immediate. Появилось пустое окошко с какой-то фигнёй в заголовке (что-то вроде йzЪ6 j%). Т.е. непонятно, было ли это сообщение об ошибке переполнения или результат работы функции MsgBox. Вообще то, если Run-Time ошибка произошла при вызове из Immediate – появляется окошечко со значком EXCLIMATION и копками OK + Help. Но в окошечке, которое появилось, ничего этого не было. Тогда я написал в коде формы ерунду, дабы вызвать окно с сообщением о «Syntax Error». Появилось такое же окошко без кнопок и значков…
Я решил посмотреть, как будет работать MsgBox в других средах разработки. VB.NET 2003. Вылетел сразу после запуска, оставив после себя стандартное окно «Отправить отчёт \ Не отправлять отчёт». А вот VC6 спокойно выдавал пустое окно, с фигнёй в заголовке (видимо «фигней в заголовке» был случайный кусок памяти). Перед перезагрузкой я решил все эти глюки заScreenShot’ить (для истории). Сделав скриншоты, я начал перезагрузку, перезагрузку, которая была для системы последней.
Скриншоты можете посмотреть, если не верите (я бы не поверил).
У кого какие мнения на произошедшее.