编译器错误仅在使用“Make EXE”时出现,而不是在 IDE 中运行时出现?

问题描述 投票:0回答:3

我最近根据我的规格编辑了一位同学的数据收集软件。当我在 Visual Basic 6 中运行时,该程序运行良好,但理想情况下,我希望将该程序编译为 .exe 文件,以便可以从任何 PC 上运行它。但是,当我选择将其转换为 exe 的选项时,我在编译时收到以下错误:

编译错误:子或函数未定义。

我很好奇为什么我的程序可以从 Visual Basic 中运行,但无法编译成 exe。任何修复/建议将不胜感激!

vb6 compilation exe
3个回答
6
投票

您必须使用“开始”(F5) 在 IDE 中运行应用程序 - 这不会进行完整编译,因此不会捕获所有编译错误。我建议你总是使用 Start With Full Compile (Ctrl+F5) - 然后它会告诉你错误在哪里。

您可以创建自定义控制栏按钮来执行“开始完全编译” - 无需一直键入 CTRL+F5。


5
投票

在每个文件的开头写上“选项显式”。这会将 vb 行为从弱类型更改为强类型。

这意味着当您将字符串放入整数时,vb 会立即告诉您,或者至少当您按“运行”时。在弱类型模式下,程序将一直运行,直到遇到错误,例如“Sub 或 Function not Defined”,然后崩溃。

当您编译成“exe”时,vb 需要进行额外的健全性检查,就像“显式选项”所做的那样。这就是为什么您在正常执行时看不到问题的原因。它仍然在那里,潜伏着,但您可能不会执行有问题的行。

在你拥有的每个 vb 源文件中使用这个关键字非常重要,否则你会一直看到这样的问题。


5
投票

它允许您运行程序,即使由于 IDE 支持的“按需编译”功能而无法编译该程序。正如其他帖子中所述,您可以 CTRL-F5 进行完整编译,或者您可以进入“选项”-->“常规”并关闭“按需编译”...(节省大量 CTRL-F5)

© www.soinside.com 2019 - 2024. All rights reserved.