Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Едва ли функция VB6 IDE, но если необходимо заполнить несвязанный listview большим количеством данных, затем делающих это невидимый во время заполняющихся скоростей обработки это, возможно, фактором 10.
В прошлый раз, когда я должен был использовать VB6, я хотел не находить себе места в гневе, потому что колесико прокрутки на моей мыши , который буквально работает с любой программой в Windows, не работало. Это имеет некоторое отношение к возрасту VB6 и как Microsoft изменила функциональность колесика прокрутки за эти годы.
Этот парень записал программу, чтобы заставить его работать.
(и это похоже в годах, так как Microsoft сделал фиксацию также )
Мой ответ к вопросу , "Если Вы не удовлетворены ответами на ком-то else’s вопрос, необходимо ли запустить собственное?" шоу, как предварительно заполнить VC ++ со всеми Вашими исходными путями. Для тех из нас полезно, кто создает из командной строки, но отладки с помощью msdev.
Быстрые макросы всегда были моим любимым; не действительно скрытой серовато-синей функцией, но очень полезной, и VC6 была последняя версия, где они были достаточно быстры, чтобы быть полезными (прежде чем MS переписал макро-механизм для использования.NET).
Shift-Alt-Enter для увеличения размера окна
редактораДля VC6 доберитесь, копия Визуальный Помогают X Целым Помидором. Это содержит умное (и применимый) замена Intellisense, намного более богатая окраска кода, некоторая поддержка рефакторинга и намного больше функций. Совершенно определенно стоящий инвестиций.
CodeShine: (свободное) дополнение рефакторинга кода VB6. Включает рефакторинги, такие как Метод Извлечения, Представьте Объяснение Переменной, Функции Извлечения, Представьте Объяснение Переменной, Переименуйте, и т.д.
Эрл функция в VB6. При помещении номеров строки в код VB6 Вы можете, в Ваш обработчик ошибок, получать доступ к номеру строки, в котором Ваша ошибка произошла через возвращаемое значение функции Эрл .
Я ударю это от функции C++ VS, которая сохранила меня много времени: добавление", su" (без кавычек) к строке unicode в окне часов отладчика позволяет Вам просмотреть значение строки (а не адрес памяти той строки)
Измените свойство "Start in" на ярлыке, который Вы используете для запуска VB6 к корню каталога исходного кода. Это сохранит много потраченных впустую щелчков мышью каждый раз, когда Вы открываете проект из IDE.
Можно отредактировать файл C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\AUTOEXP.DAT
для добавления правил для отображения значимых значений пользовательских классов в Окне Часов Отладки.
то, Что я имею в виду, является этим. Нам определили структуру даты как это:
typedef struct tagMHDATE
{
short int nDay; // Day of the Month 1..31
short int nMonth; // Month of the Year 1..12
short int nYear; // Year
} MHDATE, FAR *LPMHDATE;
, Если у меня есть этот код:
MHDATE today;
GetDate(&today);
... и отбрасывание today
в окне часов, я буду видеть что-то вроде этого:
today {...}
Теперь идут и добавляют это до конца AUTOEXP.DAT (это - просто текстовый файл)
tagMHDATE=date=<nMonth>/<nDay>/<nYear>
..., и теперь я вижу это в окне Watch:
today {date=10/8/2008}
, который я не знаю, действительно ли это - "скрытая" функция или нет, но всегда думало, что он сэкономил время.
можно создать собственные шаблоны для классов, модулей, форм, и т.д. и сделать их доступными в IDE. Например, мне обычно нравится использовать со строгим контролем типов Collection
классы в моем коде VB6. Таким образом, я мог бы хотеть FooCollection
, который содержит Foo
объекты и ничто иное вместо простого Collection
. Я не хочу должным быть повторно реализовывать эти Collection
, взаимодействуют через интерфейс каждый раз, когда мне нужно новое со строгим контролем типов Collection
, таким образом, я создал новый шаблон класса, который содержал весь шаблон Collection
код. Теперь каждый раз, когда я иду для добавления нового модуля класса к моему проекту, мое пользовательское TypedCollection
, шаблон доступен как опция. Тогда я просто переименовываю недавно добавленный класс FooCollection
и заменяю все происшествия "В качестве Объекта" с "Как Foo" (где Foo является типом объекта, я хочу сохранить в наборе), и я сделан.
Хранение с моим пользовательским примером шаблона класса, вот то, что Вы делаете:
C:\Program Files\Microsoft Visual Studio\VB6\Template\Classes
папка (Примечание: другие подпапки, такой как [1 110], и т.д. для других видов шаблонов). Название .cls файла минус расширение - то, что появится в IDE, таким образом, я обычно буду включать пробелы в имя файла для удобочитаемости. Project->Add Class Module
, Ваш шаблонный класс появится в списке доступных шаблонов классов. Для VB6, MZ-инструменты фантастическое свободное дополнение. Моими любимыми функциями является его функция находки и его способность найти все вызывающие стороны данной стандартной программы щелчком кнопки. Это имеет несколько других функций также, несколько из которых я нашел полезными при случае.
Существует довольно много подсказок и приемов здесь . Мой любимый помещает @err,hr
в окне Watch для получения сообщений об ошибках.