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