我最近根据我的要求编辑了一个同学的数据收集软件。当我在 Visual Basic 6 中运行时,该程序运行良好,但理想情况下,我想将该程序编译为 .exe 文件,以便可以在任何 PC 上运行它。但是,当我选择将其转换为 exe 的选项时,在编译时出现以下错误:
编译错误:未定义子或函数。
我很好奇为什么我的程序会在 Visual Basic 中运行,但不能编译成 exe。任何修复/建议将不胜感激!
我最近根据我的要求编辑了一个同学的数据收集软件。当我在 Visual Basic 6 中运行时,该程序运行良好,但理想情况下,我想将该程序编译为 .exe 文件,以便可以在任何 PC 上运行它。但是,当我选择将其转换为 exe 的选项时,在编译时出现以下错误:
编译错误:未定义子或函数。
我很好奇为什么我的程序会在 Visual Basic 中运行,但不能编译成 exe。任何修复/建议将不胜感激!
您必须使用 Start (F5) 在 IDE 中运行应用程序 - 这不会进行完整编译,因此不会捕获所有编译错误。我建议你总是使用 Start With Full Compile (Ctrl+F5) - 然后它会告诉你错误在哪里。
您可以创建一个自定义控制栏按钮来执行 Start With Full Compile - 无需一直键入 CTRL+F5。
在每个文件的开头,写上“ option explicit ”。这将 vb 行为从弱类型更改为强类型。
这意味着当您将字符串放入整数时,vb 会立即告诉您,或者至少在您按下“运行”时会告诉您。在弱类型模式下,程序将一直运行,直到遇到错误,例如“未定义子或函数”然后崩溃。
当您编译成“exe”时,vb 需要进行额外的健全性检查,就像“选项显式”所做的那样。这就是为什么您在正常执行时看不到问题的原因。它仍然在那里,潜伏着,但你可能没有执行有问题的行。
在你拥有的每个 vb 源文件中使用这个关键字是非常重要的,否则你会一直看到这样的问题。
它允许您运行程序,即使由于IDE 支持的按需编译功能而无法编译。如其他帖子中所述,您可以 CTRL-F5 进行完整编译,或者您可以进入 Options --> General 并关闭按需编译...(节省大量 CTRL-F5)