[Закрываются] Ваши любимые инструменты Visual Basic 6.0 и подсказки

Вы можете обернуть сторонний SDK в модуле TypeScript, используя хак с eval.

Предположим, что ThirdPartySDK.js выглядит следующим образом:

var ThirdPartySDK = (function () {
    var exports = {
        foo: function () { console.log("Hello, world!"); }
    };
    return exports;
})();

Затем вы создадите модуль ThirdPartySDK-wrapper.ts, который будет выглядеть примерно так:

import * as fs from 'fs';
const script = fs.readFileSync('../lib/ThirdPartySDK.js').toString();

global.eval(script);

//@ts-ignore
export default ThirdPartySDK;
[1112 ] Директива @ts-ignore требуется, чтобы компилятор TypeScript не жаловался на то, что не нашел объявление для переменной ThirdPartySDK (это объявляется в сценарии, выполняемом через eval).

Затем вы можете импортировать ThirdPartySDK через модуль оболочки:

import ThirdPartySDK from './wrapper';
ThirdPartySDK.foo();  // Console output: "Hello, world!" 

Обратите внимание, что эта оболочка работает только для приложений, работающих в Node.js, поскольку она использует fs.fileReadSync для получения содержимого скрипта.

Если вы собираетесь использовать его в браузере, вам понадобится другой способ получить скрипт. Возможно, вы могли бы использовать такие инфраструктуры, как WebPack, для связывания скрипта ThirdPartySDK в виде строкового значения, которое вы можете require в модуле оболочки.

30
задан 13 revs, 5 users 43% 23 May 2017 в 11:46
поделиться

22 ответа

Инструменты MZ.

Свободный. Много дополнительных инструментов для IDE, как "Любимые Процедуры" и "Добавляют программа обработки ошибок к prodedure" и партиям больше.

http://www.mztools.com/v3/mztools3.aspx

37
ответ дан 27 November 2019 в 22:53
поделиться

Включите колесо мыши в VB6:

Microsoft:enable колесико прокрутки мыши

72
ответ дан 27 November 2019 в 22:53
поделиться

Я еще не попробовал это сам, но , CodeShine является дешевым дополнением рефакторинга для VB6. Это может сделать полезное метод извлечения рефакторинг, по-видимому.

я должен прекратить напрасно тратить время здесь и загрузить бесплатная демонстрационная версия для испытания его.

1
ответ дан 27 November 2019 в 22:53
поделиться

Обработка ошибок 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
1
ответ дан 27 November 2019 в 22:53
поделиться

Я обнаружил много вещей, когда я сначала учился при помощи мастеров делать формы/небольшие приложения и затем исследовал код, они производят.

2
ответ дан 27 November 2019 в 22:53
поделиться

CodeSmart 2009 для VB6

я не попробовал это.

http://www.axtools.com/products/cs2k3vb_screenshots.htm

2
ответ дан 27 November 2019 в 22:53
поделиться

Надстройка vbAdvance теперь бесплатна.

vbAdvance - это надстройка Visual Basic, предоставляющая доступ к расширенным функциям сборки и многим удобным функциям IDE. Создание консольных приложений, создание стандартных библиотек DLL, которые экспортируют функции, создание точки входа DllMain в ваших библиотеках DLL, компилятор XP Manifest для стилей XP, сервер терминалов и т. Д.

3
ответ дан 27 November 2019 в 22:53
поделиться

Книга VB Matt Curlands Power и инструменты VBoost, которые шли с ним, особенно редактор Библиотеки типов.

Просто не упускают не-DEP совместимые методы.

3
ответ дан 27 November 2019 в 22:53
поделиться

Выезд http://angryhacker.com/blog/archive/2008/05/01/vb6-swiss-army-knife.aspx

Это имеет большинство инструментов, которые я использую для того, каждый раз, когда я должен копаться в VB6 плюс описание того, что они делают. В дополнение к инструментам, упомянутым здесь, это также имеет следующее:

Создатель Свойства PDSA

ADO Сохраненное Дополнение Генератора Proc

Ведущее Дополнение Класса Набора

4
ответ дан 27 November 2019 в 22:53
поделиться

Make My Manifest может создавать COM-манифесты без регистрации (при необходимости добавляя «Стили») , так далее.). Это позволяет XCopy развертывать многие VB6 EXE-файлы в WinXP или более поздней версии.

Больше нет опасений «зависимости» или DLL Hell!

5
ответ дан 27 November 2019 в 22:53
поделиться

Весь сайт mvps.org здесь

я рекомендую Karl Peterson' Один источник остановки и VBnet Randy Birch (который не имеет никакого отношения к VB.NET), и Заменяющий Проект Общего контроля.

6
ответ дан 27 November 2019 в 22:53
поделиться

Шаблоны разработки GoF. В то время как это не кажется специфичным для VB6 то, что большинство шаблонов базируется, интерфейсная реализация и агрегирующиеся объекты (в противоположность наследованию) делают его хорошо удовлетворенным для использования с VB6. Они говорят об этом на страницах 16 - 18 и подводят итог его в одном операторе. Программа к интерфейсу, не implmentation, Если существует одна вещь, что VB6 и COM преуспевают, является интерфейсами дескриптора.

6
ответ дан 27 November 2019 в 22:53
поделиться

Я, которого realllly очень не хотят проверить, чтобы видеть, является ли массив неинициализированным путем передачи его функции помощника, которая пытается сделать UBound и фиксирует ошибку, если это происходит.

Решение?

Использование VarPtr для получения адреса массива передайте адрес CopyMemory для получения структуры SafeArray для массива, если структура SafeArray указывает на 0 размеров, массив является неинициализированным.

РЕДАКТИРОВАНИЕ благодаря Lance для хорошей ссылки с примером

http://vbnet.mvps.org/index.html?code/helpers/getarraydims.htm

6
ответ дан 27 November 2019 в 22:53
поделиться

Удивительно, сколько людей не использует кнопки IDE для комментария и некомментария блоков исходного кода. Они находятся на панель инструментов Edit и похожи на это: сопроводительный текст http://img231.imageshack.us/img231/1949/vb6commentbuttons.gif . Щелкните правой кнопкой в незанятой части области панели инструментов и отметьте опцию Edit отобразить панель инструментов.

я когда-то посетил "Усовершенствованный VB6" курс, где преподаватель не знал о тех кнопках.

<час>

РЕДАКТИРОВАНИЕ: AngryHacker имеет путь для соединения сочетаний клавиш с этими кнопками, чтобы прокомментировать и не прокомментировать блоки кода при нажатии клавиши.

15
ответ дан 27 November 2019 в 22:53
поделиться

После установки VB6 я всегда делаю это удовлетворение требованиям заказчика на Опциях Инструментов.

  • Выключают Автоматическую Проверку синтаксиса на вкладке Editor. Вы не хотите окна сообщения при вводе синтаксической ошибки - Вы просто хотите проблемную строку, отображенную красным, таким образом, можно зафиксировать его позже.

  • Включают, Требуют Объявления переменной на вкладке Editor. Не думайте, просто делайте это.

  • Выключают Компиляцию По требованию на вкладке "Общие". Вы хотите быть сказанными о синтаксических ошибках сразу при выполнении кода, не как раз в то самое время, когда изворотливую стандартную программу на самом деле называют.

  • РЕДАКТИРОВАНИЕ: Подсказка для сохранения изменений , когда программа запускается на вкладке Environment. (Благодарен за то, что wqw напоминает мне в комментариях.)

  • Набор Обнаружение ошибок для "Повреждения на необработанных ошибках" на вкладке "Общие". На самом деле это - персональное предпочтение - но необходимо выбрать установку, которая подходит Вам. Надо надеяться, Вы разработали стратегию обработки ошибок программы VB6?

  • у меня есть жидкокристаллический экран, и цвета по умолчанию не работают очень хорошо, таким образом, я изменяю их на более легкие. Я также использую шрифт Consolas . Делает мой двадцать первый век взгляда кода VB6 так или иначе:)

36
ответ дан 27 November 2019 в 22:53
поделиться

Сайт vbAccelerator . В нем так много отличных примеров и бесплатных элементов управления с полным исходным кодом. Сайт не обновлялся уже несколько лет,

7
ответ дан 27 November 2019 в 22:53
поделиться

Один отличный инструмент, который я использовал, называется CodeFixer. Я полагаю, что впервые наткнулся на CodeFixer здесь .

Это даже с открытым исходным кодом. У меня был небольшой контакт с автором, Роджер Гилкрист,

2
ответ дан 27 November 2019 в 22:53
поделиться

Анализатор проекта Aivosto http: // www.aivosto.com/project/project.html

1
ответ дан 27 November 2019 в 22:53
поделиться

Не могу поверить, что никто еще не опубликовал Hardcore Visual Basic Брюса МакКинни (теперь бесплатно онлайн на mvps.org) ! Хорошо, это скорее книга, чем программа, но она расширяется до настоящего рога изобилия инструментов и советов.

11
ответ дан 27 November 2019 в 22:53
поделиться

Гибкая сумка "Паучий глаз"

Абсолютно необходима замена класса коллекции из Паучий глаз под названием Гибкая сумка для паучьих глаз . Он на 100% лучше, чем классы коллекций, поставляемых с VB, и невероятно быстр по сравнению с исходными коллекциями. Коллекция Flexbag была написана Гэри Вишневски, известным на «Домашней странице Visual Basic Карла и Гэри».

К сожалению, на сайте Spider Eye, похоже, нет ссылки на Flex Bag в настоящий момент, но я уверен если вы свяжетесь с ними, они будут рады что-нибудь для вас уладить. Если вы вообще занимаетесь какой-либо работой, основанной на коллекциях, то это того стоит.

Поиск кода AVE

Средство поиска кода AVE очень удобно, потому что функция поиска в среде VB6 IDE может ' нельзя доверять. AVE Code Finder также намного быстрее, чем встроенный Find. Его написал Ярек Звеж из www.ave.com.pl , но сайт, похоже, больше не существует, поэтому версия, на которую я ссылаюсь, находится на VB2TheMax.

1
ответ дан 27 November 2019 в 22:53
поделиться

SmartIndenter заботится обо всех автоматических отступах. Он делает одно, и делает это очень хорошо. И это бесплатно.

http://www.oaltd.co.uk/Indenter/Default.htm

SmartIndenter http://img151.imageshack.us/img151/1392/screencaps1.jpg[1285 impression

11
ответ дан 27 November 2019 в 22:53
поделиться

VB6 IDE не запоминает ваши предпочтения в отношении максимизации окон кода. Для запуска с развернутыми окнами кода VB6 установите этот строковый ключ реестра:

[HKEY_CURRENT_USER \ Software \ Microsoft \ Visual Basic \ 6.0]

«MdiMaximized» = «1»

5
ответ дан 27 November 2019 в 22:53
поделиться