Ваши любимые инструменты и советы по Visual Basic 6.0
Это в некоторой степени относится к аналогичному посту, но в целом это был выпуск Visual Studio 6, и многие предложения не относились к Visual Basic 6.0.
Предлагайте или голосуйте за инструменты / советы. Пожалуйста, один инструмент / совет на пост, чтобы каждый мог проголосовать за них индивидуально. Включите краткое описание того, что делают инструменты.
24 ответа
MZ Tools.
Свободно. Множество дополнительных инструментов для IDE, таких как "Любимые процедуры" и "Добавить подпрограмму ошибки в процедуру" и многое другое.
Включить колесо мыши в VB6:
После установки VB6 я всегда делаю эти настройки в Tools-Options.
Отключите автоматическую проверку синтаксиса на вкладке "Редактор". Вам не нужны окна сообщений при вводе синтаксической ошибки - вы просто хотите, чтобы проблемная строка отображалась красным, чтобы вы могли исправить ее позже.
Включите Требовать объявление переменной на вкладке Редактор. Не думай, просто сделай это.
Выключите Compile On Demand на вкладке General. Вы хотите, чтобы о синтаксических ошибках сообщали сразу же после запуска кода, а не только тогда, когда на самом деле вызывается хитрая процедура.
РЕДАКТИРОВАТЬ: Предложить сохранить изменения при запуске программы на вкладке Среда. (Спасибо wqw за напоминание в комментариях.)
Установите " Перехват ошибок" на "Разрыв необработанных ошибок" на вкладке "Общие". На самом деле, это личное предпочтение, но вы должны выбрать подходящую для вас настройку. Надеюсь, вы разработали стратегию обработки ошибок для программы VB6?
У меня есть ЖК-экран, и цвета по умолчанию работают не очень хорошо, поэтому я заменяю их на более светлые. Я также использую шрифт Consolas. В любом случае мой код VB6 выглядит как двадцать первый век:)
Удивительно, как много людей не используют кнопки IDE для комментирования и раскомментирования блоков исходного кода. Они находятся на панели инструментов " Редактировать" и выглядят так: http://img231.imageshack.us/img231/1949/vb6commentbuttons.gif. Щелкните правой кнопкой мыши на незанятой части области панели инструментов и установите флажок "Изменить", чтобы отобразить панель инструментов.
Однажды я посетил курс "Advanced VB6", где инструктор не знал об этих кнопках.
РЕДАКТИРОВАТЬ: AngryHacker имеет способ связать сочетания клавиш с этими кнопками, чтобы комментировать и раскомментировать блоки кода при нажатии клавиши.
SmartIndenter берет на себя все автоматические отступы. Это делает одну вещь, и это действительно хорошо. И это бесплатно.
Я не могу поверить, что никто еще не опубликовал Hardcore Visual Basic Брюса МакКинни (теперь бесплатный онлайн на mvps.org)! Хорошо, это книга, а не часть программного обеспечения, но она расширяется до настоящего изобилия инструментов и советов.
Веб-сайт vbAccelerator. В нем так много отличных примеров и бесплатных элементов управления с полным исходным кодом. Сайт не обновлялся уже несколько лет, но он все еще продолжает работать, и я все еще возвращаюсь к нему, работая в VB6.
Весь сайт mvps.org здесь
Я рекомендую "Единый источник" Карла Петерсона и VBnet Рэнди Берча (который не имеет ничего общего с VB.NET) и проект замены общих элементов управления.
Шаблоны проектирования от GoF. Хотя это не кажется специфичным для VB6, тот факт, что большинство шаблонов основаны на реализации интерфейса и агрегировании объектов (в отличие от наследования), делает его хорошо подходящим для использования с VB6. Они говорят об этом на страницах с 16 по 18 и суммируют это в одном утверждении. Программирование на интерфейс, а не на реализацию Если есть одна вещь, которую VB6 и COM делают хорошо, это обрабатывать интерфейсы.
Я действительно ненавижу проверять, неинициализирован ли массив, передавая его вспомогательной функции, которая пытается выполнить UBound и перехватывает ошибку, если она возникает.
Решение?
Используйте VarPtr для получения адреса массива, передайте адрес в CopyMemory, чтобы получить структуру SafeArray для массива, если структура SafeArray указывает 0 измерений, массив неинициализируется.
РЕДАКТИРОВАТЬ спасибо Лэнсу за хорошую ссылку с примером
http://vbnet.mvps.org/index.html?code/helpers/getarraydims.htm
IDE VB6 не запоминает ваши предпочтения максимизировать окна кода. Для запуска с развернутыми окнами кода VB6 установите этот ключ реестра:
[HKEY_CURRENT_USER \ Software \ Microsoft \ Visual Basic \ 6.0]
"MdiMaximized" = "1"
Make My Manifest может создавать Reg-Free COM-манифесты (при необходимости добавляя "Стили" и т. Д.). Это позволяет XCopy развертывать многие VB6 EXE-файлы в WinXP или более поздней версии.
Больше никаких "зависимых" страхов или DLL Ад!
Проверьте http://angryhacker.com/blog/archive/2008/05/01/vb6-swiss-army-knife.aspx
В нем есть большинство инструментов, которыми я пользуюсь всякий раз, когда мне нужно углубиться в VB6, а также описание того, что они делают. В дополнение к инструментам, упомянутым здесь, он также имеет следующее:
Книга Matt Curlands Power VB и прилагаемые к ней инструменты VBoost, особенно редактор библиотеки типов.
Просто следите за приемами, не соответствующими DEP.
Надстройка vbAdvance теперь бесплатна.
vbAdvance - это надстройка Visual Basic, предоставляющая доступ к расширенным функциям сборки и многим удобным функциям IDE. Создание консольных приложений, создание стандартных библиотек DLL, которые экспортируют функции, создание точки входа DllMain в ваших библиотеках DLL, компилятор XP Manifest для стилей XP, сервер терминалов и т. Д.
Я обнаружил много вещей, когда впервые изучал, используя мастера для создания форм / небольших приложений, а затем изучая код, который они выводят.
Один отличный инструмент, который я использовал, называется CodeFixer. Я считаю, что впервые наткнулся на CodeFixer здесь.
Это даже с открытым исходным кодом. У меня был небольшой контакт с автором, Роджером Гилкристом, и он, кажется, все еще работает над этим в его, конечно, ограниченное, свободное время.
Spider Eye Flexbag
Замена класса коллекции от Spider Eye под названием Spider Eye Flexbag является абсолютной необходимостью. Это на 100% лучше, чем классы коллекций, которые поставляются с VB, и это невероятно быстро по сравнению с оригинальными коллекциями. Коллекция Flexbag была написана Гари Вишневским из известной "Домашней страницы Карла и Гари Visual Basic".
К сожалению, в данный момент на сайте Spider Eye, похоже, нет ссылки на Flex Bag, но я уверен, что если вы свяжетесь с ними, они будут рады что-то для вас выяснить. Если вы выполняете какую-либо работу на основе коллекций, то это будет стоить усилий.
AVE Code Finder
AVE Code Finder удобен тем, что функции Find в VB6 IDE нельзя доверять. AVE Code Finder также намного быстрее, чем встроенный Find. Он был написан Jarek Zwierz из http://www.ave.com.pl/, но сайт, похоже, больше не существует, поэтому версия, на которую я ссылаюсь, находится на VB2TheMax.
Обработка ошибок VB6 отстой. Итак, я принял эти шаблоны, чтобы сделать это проще:
Блок Try-Catch:
'Try
On Error Goto catchX
...
'Catch
catchX: if err.number then
...
resume resumX
resumX: end if
On Error Goto outside_catch_label_name
'End Try
Включение трассировки стека в ошибках:
sub rethrow(byval source as string)
Err.Source = Err.Source & vbNewLine & vbTab & "@ " & Source
Err.Raise Err.Number, Err.Source, Err.Description
end sub
sub some_sub: on error goto throw
...
throw: if err.number then rethrow("some_sub")
end sub
VB6 Credits Easter Egg, в котором перечислены команды разработчиков:)
Чтобы показать кредиты программы VB6, создайте кнопку "О программе" на стандартной панели инструментов и переименуйте ее заголовок в "Показать кредиты VB". Вот немного подробнее:
- Щелкните правой кнопкой мыши на панели инструментов и выберите "Настроить"
- На вкладке "Команды" выберите категорию "Справка".
- Перетащите команду "О Microsoft Visual Basic" (правые окна диалогового окна) до конца стандартной панели инструментов.
- Не закрывая диалоговое окно "Настройка", щелкните правой кнопкой мыши только что созданную кнопку и измените ее имя на "Показать кредиты VB".
- Закройте "Настроить" и нажмите новую кнопку.
Я сам еще не пробовал, но CodeShine - дешевая надстройка для рефакторинга для VB6. Это может сделать полезный метод извлечения рефакторинга, судя по всему.
Я должен прекратить тратить здесь время и загрузить бесплатную пробную версию, чтобы попробовать.
Анализатор проектов Айвосто http://www.aivosto.com/project/project.html
Я купил Codejock SuitePro для своей компании. У них есть много компонентов, которые будут использоваться в VB6 и C++, в том числе поддержка XAML в элементах управления, то есть облегченная версия WPF.