6

任何人都知道如何从命令行编译 vb6 webclass dll?我正在尝试构建一个用于自动构建版本的工具,但它失败并显示“文件'[文件名]'中的编译错误,第 xxxx 行:未定义变量”警报。

4

3 回答 3

10

已知错误

症状

当您使用命令行参数编译包含 WebClass 设计器的 Microsoft Visual Basic 项目时,您可能会遇到错误。

原因

当您使用命令行参数 /MAKE 编译应用程序时,如果设计器 (.DSR) 的关联 .DCA 文件与 .DSR 文件不在同一目录中,您可能会在编译过程中遇到错误。.DCA 文件包含编译项目所需的类型库信息。

解析度

使用以下解决方法之一来编译项目而不会出现错误:

  • 在 Visual Basic 中打开项目,然后在项目中进行更改。任何更改,例如输入一个空格然后删除项目中的空格,就足够了。关闭 Visual Basic,并保存更改。这会在 .DSR 文件所在的同一目录中重建应用程序的 .DCA 文件。
  • 在 Visual Basic 集成开发环境 (IDE) 中编译应用程序。这还会为应用程序重建 .DCA 文件。

地位

Microsoft 已确认这是本文开头列出的 Microsoft 产品中的错误...

于 2009-01-25T21:08:14.460 回答
5

听起来您需要 CTRL-F5 并查看编译错误是什么,VB6 将允许您在调试中运行,而仍然存在无法通过编译器的错误,可能需要解决一些问题。这是一个从 bat 文件的命令行编译的示例。

set vssdir=c:\_vss\
VB6 /MAKE "%vssdir%Project.vbp" /outdir "%vssdir%testbuild"
于 2009-01-25T20:53:54.193 回答
0

代码是否在调试器中构建?
通过运行“vb6.exe /?”查看可用于交换机的帮助。就像是:

path_to_vb6_exe /l path_to_my_project_name

应该管用。我在想 /l 而不是 /m,因为它是一个 webclass dll,所以将是 activeX。每当我遇到像您描述的从命令行运行的 VB6 报告的错误时,都是因为代码无法构建。

但是,当从命令行运行时,它确实有一些缺点。我发现如果我在 IDE 中为用户控件设置了自定义选项卡,那么从命令行编译总是会失败。

于 2009-01-25T20:54:58.153 回答