2009-04-08 58 views
2

我最近编辑了一个同学的数据收集软件,符合我的规范。当我在Visual Basic 6中运行时,该程序运行正常,但理想情况下,我想将程序编译为.exe文件,以便可以从任何PC运行它。但是,当我选择将其转换为exe的选项时,编译时出现以下错误:将程序编译为EXE的问题,VB 6

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

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

回答

4

在每个文件的开头写上“option explicit”。这将vb行为从弱类型变为强类型。

这意味着当你把一个字符串放入一个整数时,vb会马上告诉你,或者至少当你按下“run”时。在弱类型模式下,程序将运行直至遇到故障,例如“Sub或Function not defined”,然后崩溃。

当你编译成一个“exe”时,vb需要进行额外的完整性检查,就像“option explicit”会做的一样。这就是为什么在正常执行时你看不到问题。它仍然存在,潜伏,但你可能不执行有问题的路线。

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

+0

This and the以前的答案帮助我弄清楚如何编译我的程序。显然,在我之前编写这个软件的人遗漏了很多变量声明。所以我必须通过并实际声明所有未声明的变量。完成之后,程序编译得很好。 – Sam 2009-04-08 20:09:11

6

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

您可以创建一个自定义控制栏按钮来完成“全编译开始 - 保存”,一直保存输入CTRL + F5。

5

它允许您运行该程序,即使由于IDE支持的Compile On Demand功能而无法编译该程序。正如其他帖子中提到的,你可以按CTRL-F5做一个完整的编译,或者你可以进入Options-> General并关闭Compile On Demand ...(节省大量的CTRL-F5s)

+0

选项 - >编辑器,并打开'需要变量声明'是另一个必须设置的选项 – 2009-04-08 18:18:23