对于我的客户,我必须对在windows xp计算机上运行的visual basic 6应用程序进行更改。
没什么特别的,只是与plc通信并充当用户界面。
我的更改在开发人员环境(IDE)中绝对完美,但是当我创建exe时,它会在打开某些表单或按某些按钮时崩溃。有些东西有效,有些东西崩溃了。
编译器在开发过程中即使在完全编译后也不会出现任何错误!
我通过迭代代码发现了一些“错误”,这实际上只是删除了一些变量。 (已经存在+ 这不是可编程错误)编译器不会出错,只是exe崩溃了。
崩溃的bug的一个例子:
sub On form_load()
Some code
Global_String_Variabel = "Something"
some code
End sub
通过删除此表单中的全局字符串变量,它不会再崩溃。
这很奇怪,因为这种代码的和平已经存在,在开发中工作得非常好,但在.exe中却没有。
有人知道为什么会这样吗?
答案 0 :(得分:0)
如果我正确地理解了您的问题,程序将在您的开发机器上运行,既可以在IDE中运行,也可以在两种状态下进行编译,使用字符串assign和without,但只能在客户端的计算机上运行。很多年前我发生过这样的事情,虽然这可能不是你的问题,但你至少可以排除它。客户端可能有一个病毒扫描程序错误地认为您的代码段是恶意软件。只需添加另一行,如x = x或其他良性的东西,有时可以修复它。
您可能还需要进一步了解其他差异,例如他们拥有/运行的其他差异。
不是它应该重要但是你在某处声明变量并使用Option Explicit吗?