Vb6 将程序编译为EXE、VB 6时出现的问题

Vb6 将程序编译为EXE、VB 6时出现的问题,vb6,compilation,exe,Vb6,Compilation,Exe,我最近编辑了一位同学的数据收集软件,符合我的要求。当我在Visual Basic 6中运行时,该程序运行良好,但理想情况下,我希望将该程序编译为.exe文件,以便可以从任何PC上运行。但是,当我选择将其转换为exe的选项时,在编译该程序时出现以下错误: 编译错误:未定义子或函数 我很好奇为什么我的程序会在Visual Basic中运行,但不能编译成exe。如有任何修复/建议,将不胜感激 您必须使用Start(F5)在IDE中运行应用程序-这不会执行完整编译,因此不会捕获所有编译错误。我建议您始终

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

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


我很好奇为什么我的程序会在Visual Basic中运行,但不能编译成exe。如有任何修复/建议,将不胜感激

您必须使用Start(F5)在IDE中运行应用程序-这不会执行完整编译,因此不会捕获所有编译错误。我建议您始终使用Start With Full Compile(Ctrl+F5)-然后它将显示错误所在的位置


您可以创建一个自定义控制栏按钮,以执行完整编译的开始-始终保存键入CTRL+F5的操作。

在每个文件的开头,写入“”。这会将vb行为从弱类型更改为强类型

这意味着,当你把一个字符串转换成一个整数时,vb会立即告诉你,或者至少当你按下“run”键时。在弱类型模式下,程序将一直运行,直到遇到故障,如“未定义子或函数”,然后崩溃

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


在您拥有的每个vb源文件中使用此关键字是非常重要的,否则您将一直看到类似的问题。

它允许您运行程序,即使由于IDE支持的功能而无法编译。如其他文章所述,您可以按CTRL-F5进行完整编译,也可以进入选项-->常规并关闭按需编译…(保存大量CTRL-F5)

选项-->编辑器,打开“Require Variable Declaration”是另一个必须设置的选项+1我非常着迷,用我必须设置的选项列表写了一个答案:)这和前面的回答帮助我弄清楚了如何编译我的程序。显然,在我之前编写这个软件的人遗漏了很多变量声明。因此,我必须仔细检查并实际声明所有未声明的变量。完成后,程序编译得很好。