Ответ 1
Инструменты MZ.
Свободно. Множество дополнительных инструментов для IDE, таких как "Любимые процедуры" и "Добавить процедуру обработки ошибок для prodedure" и многое другое.
Это связано с аналогичным сообщением , но этот пост был Visual Studio 6 в целом, и многие предложения не применимы к Visual Basic 6.0.
Предложите или проголосуйте за инструменты/советы. Пожалуйста, один инструмент/подсказка за сообщение, чтобы каждый мог проголосовать за них по отдельности. Включите краткое описание того, что делают инструменты.
Инструменты MZ.
Свободно. Множество дополнительных инструментов для IDE, таких как "Любимые процедуры" и "Добавить процедуру обработки ошибок для prodedure" и многое другое.
Включить колесо мыши в VB6:
После установки VB6 я всегда делаю эти настройки в Tools-Options.
Отключить проверку автоматического синтаксиса на вкладке "Редактор". Вы не хотите, чтобы ящики сообщений при вводе синтаксической ошибки - вам просто нужно, чтобы строка проблем была показана красным цветом, чтобы вы могли исправить ее позже.
Включить обязательную декларацию переменных на вкладке "Редактор". Не думай, просто сделай это.
Отключить компиляцию по запросу на вкладке Общие. Вы хотите, чтобы вас сразу же сообщали о синтаксических ошибках, когда вы запускаете свой код, а не только, когда на самом деле вызываются хитроумные подпрограммы.
EDIT: Запрос на сохранение изменений при запуске программы на вкладке "Окружающая среда". (Спасибо wqw за напоминание мне в комментариях.)
Установите Ловушка ошибок на "Разрыв необработанных ошибок" на вкладке "Общие". Собственно, это личное предпочтение - но вы должны выбрать настройку, которая вам подходит. Надеюсь, вы разработали стратегию обработки ошибок для программы VB6?
У меня есть ЖК-экран, а цвета по умолчанию не очень хорошо работают, поэтому я меняю их на более легкие. Я также использую Consolas. В любом случае, мой код VB6 выглядит в двадцать первом веке:)
Удивительно, как многие люди не используют кнопки IDE для комментирования и раскодирования блоков исходного кода. Они находятся на панели инструментов Редактировать и выглядят следующим образом: alt text http://img231.imageshack.us/img231/1949/vb6commentbuttons.gif. Щелкните правой кнопкой мыши незанятую часть области панели инструментов и отметьте опцию "Редактировать", чтобы отобразить панель инструментов.
Когда-то я учился на курсе "Advanced VB6", где инструктор не знал об этих кнопках.
EDIT: AngryHacker имеет way, чтобы связать сочетания клавиш с помощью этих кнопок, чтобы комментировать и раскомментировать блоки кода нажатием клавиши.
Я не могу поверить, что никто еще не опубликовал Брюс МакКинни Hardcore Visual Basic (теперь бесплатно онлайн на mvps.org)! Хорошо, это книга, а не часть программного обеспечения, но она расширяется до настоящего рога изобилия инструментов и советов.
SmartIndenter выполняет все автоматические отступы. Он делает одно, и это действительно хорошо. И это бесплатно.
http://www.oaltd.co.uk/Indenter/Default.htm
SmartIndenter http://img151.imageshack.us/img151/1392/screencaps1.jpg
веб-сайт vbAccelerator. У этого есть много прекрасных примеров и свободных средств управления с полным источником. Сайт не обновлялся через несколько лет, но он все еще работает, и я все еще возвращаюсь к нему при работе в VB6.
Я по-прежнему ненавижу проверку, чтобы убедиться, что массив не инициализирован, передав его вспомогательной функции, которая пытается сделать UBound и ловит ошибку, если это произойдет.
Решение
Используйте VarPtr для получения адреса массива, передайте адрес CopyMemory, чтобы получить структуру SafeArray для массива, если структура SafeArray указывает 0 измерений, массив не инициализирован.
EDIT благодаря Лэнсу для хорошей ссылки с примером
http://vbnet.mvps.org/index.html?code/helpers/getarraydims.htm
Шаблоны проектирования от GoF. Хотя для VB6 не кажется специфичным тот факт, что большинство шаблонов основаны на реализации интерфейса и агрегировании объектов (в отличие от наследования), что делает его хорошо подходящим для использования с VB6. Об этом они говорят на страницах с 16 по 18 и суммируют это в одном заявлении. Программа для интерфейса, а не импликация. Если есть одна вещь, которая хорошо работает с VB6 и COM, это интерфейсы обработки.
Весь сайт mvps.org здесь
Я рекомендую Karl Peterson 'One stop source и Randy Birch VBnet (который не имеет ничего общего с VB.NET) и Проект замены общих элементов управления.
Make My Manifest может создавать манифесты Reg-Free COM (по возможности нажимать "Стили" и т.д.). Это позволяет XCopy развертывать множество VB6 EXE для WinXP или более поздних версий.
Больше никаких "зависимых" опасений или DLL Hell!
VB6 IDE не помнит ваши предпочтения для максимизации окон кода. Чтобы начать работу с максимальным окном кода VB6, установите этот раздел реестра строки:
[HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0]
"MdiMaximized" = "1"
Отъезд 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, сервер терминалов и т.д.
CodeSmart 2009 для VB6
Я не пробовал это.
Я обнаружил много вещей, когда впервые учился, используя мастеров для создания форм/небольших приложений, а затем изучая код, который они выводят.
Один отличный инструмент, который есть и я использовал, называется CodeFixer. Я верю, что впервые наткнулся на CodeFixer здесь.
Он даже с открытым исходным кодом. У меня был небольшой контакт с автором, Роджером Гилкристом, и он, похоже, все еще работает над этим в своем, конечно ограниченном, свободном времени.
Я еще не пробовал это сам, но CodeShine - это дешевая надстройка для рефакторинга для VB6. Он может сделать, по-видимому, полезный метод извлечения.
Я должен прекратить тратить время на это и загрузить бесплатную пробную версию, чтобы попробовать.
Обработка ошибок 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
Анализатор Aivosto Project Analyzer http://www.aivosto.com/project/project.html
Замена класса коллекции из Spider Eye называется Spider Eye Flexbag является абсолютной необходимостью. Его 100% лучше, чем классы коллекций, которые поставляются с VB и его ослепительно быстро по сравнению с оригинальными коллекциями. Коллекция Flexbag была написана Гэри Вишневским из "Известной домашней страницы Carl 'n Gary Visual Basic".
К сожалению, веб-сайт Spider Eye, похоже, не имеет ссылки на Flex Bag на данный момент, но я уверен, что если вы обратитесь к ним, они с удовольствием выберут что-то для вас. Если вы вообще делаете какую-либо коллекцию, то это будет стоить усилий.
AVE Code Finder удобен, потому что функция Find в среде VB6 IDE не может быть доверена. AVE Code Finder также намного быстрее, чем встроенный Find. Это было написано Яреком Цвиром из www.ave.com.pl, но сайт больше не существует, поэтому версия, с которой я связан, находится в VB2TheMax.
VB6 Credits Easter Egg, в котором перечислены команды разработчиков:)
Чтобы показать программные кредиты VB6, создайте кнопку "О программе" для стандартного панели инструментов и переименуйте заголовок в "Показать кредиты VB". Здесь немного больше подробно:
Я купил Codejock SuitePro для своей компании. У них есть много компонентов, которые будут использоваться в VB6 и С++, включая поддержку XAML в элементах управления, что является легкой версией WPF.