Компиляция VB6 из командной строки - PullRequest
6 голосов
/ 25 января 2009

Кто-нибудь знает, как скомпилировать dll веб-класса vb6 из командной строки? Я пытаюсь создать инструмент для автоматизации создания версий, но он не работает с сообщением «Ошибка компиляции в файле» [имя файла], строка xxxx: переменная не определена ».

Ответы [ 3 ]

10 голосов
/ 26 января 2009

Известная ошибка :

ПРИЗНАКИ

Когда вы используете аргументы командной строки для компиляции проекта Microsoft Visual Basic, который содержит конструкторы WebClass, вы можете столкнуться с ошибками.

ПРИЧИНА

При использовании аргумента командной строки / MAKE для компиляции приложения, если связанные файлы .DCA для конструкторов (.DSR) не находятся в том же каталоге, что и файлы .DSR, вы можете столкнуться с ошибками во время компиляции. Файлы .DCA содержат информацию библиотеки типов, необходимую для компиляции проекта.

РАЗРЕШЕНИЕ

Используйте один из следующих обходных путей для компиляции проекта без ошибок:

  • Откройте проект в Visual Basic и внесите изменения в проект. Любого изменения, такого как ввод пробела, а затем удаление пробела в проекте, будет достаточно. Закройте Visual Basic и сохраните изменения. Это перестроит файлы .DCA для приложения в том же каталоге, где находятся файлы .DSR.
  • Скомпилируйте приложение внутри интегрированной среды разработки Visual Basic (IDE). Это также перестраивает файлы .DCA для приложения.

STATUS

Microsoft подтвердила, что это ошибка в продуктах Microsoft, перечисленных в начале этой статьи ...

4 голосов
/ 25 января 2009

Похоже, вам нужно CTRL-F5 и посмотреть, что является ошибкой компиляции, VB6 позволит вам запускаться в режиме отладки, в то время как есть ошибки, которые не смогут пройти мимо компилятора, возможно, есть что-то быть решенным. Вот пример компиляции из командной строки из файла bat.

set vssdir=c:\_vss\
VB6 /MAKE "%vssdir%Project.vbp" /outdir "%vssdir%testbuild"
0 голосов
/ 25 января 2009

Встраивается ли код в отладчик?
Проверьте справку, доступную для коммутаторов, запустив "vb6.exe /?" Что-то вроде:

path_to_vb6_exe /l path_to_my_project_name

должно работать. Я думаю / я не / м, поскольку это DLL веб-класс, так что будет ActiveX. Всякий раз, когда у меня возникали ошибки, подобные описанным вами из VB6, запускаемые из командной строки, это происходило потому, что код не собирался.

Однако у него есть несколько недостатков при запуске из командной строки. Я обнаружил, что если бы в IDE были настроены пользовательские вкладки для пользовательских элементов управления, компиляция из командной строки всегда завершалась неудачей.

...