对于我的客户,我不得不对运行在Windows XP计算机上的Visual Basic 6应用程序进行更改。
没什么特别的,只需与PLC通信并用作用户界面即可。
我所做的更改在开发人员环境(IDE)中工作绝对完美,但是当我创建exe时,它在打开某些表单或按某些按钮时崩溃。有些东西有效,有些东西崩溃了。
即使完全编译,developer中的编译器也不会给出任何错误!
我通过迭代代码发现了一些“错误”,而这实际上只是删除了一些变量。 (已经存在+ 这不是可编程错误)编译器没有给出错误,只是exe崩溃了。
崩溃的错误示例:
sub On form_load()
Some code
Global_String_Variabel = "Something"
some code
End sub
通过以这种形式删除全局字符串变量,它不再崩溃。
这很奇怪,因为这种和平的代码已经存在,在开发中工作得很好,但在.exe中却没有
有人知道为什么会发生这种情况吗?
最佳答案
如果我正确理解了您的问题,则该程序将在IDE上的开发计算机上运行,并且在两种状态下都进行编译,并且使用string指定和不使用字符串,但是仅在不使用客户机的情况下才可以使用。像这样的事情发生在我很多年前,虽然这可能不是您的问题,但您至少可以排除它。客户端可能具有病毒扫描程序,该病毒扫描程序错误地认为您的代码段是恶意软件。只需添加另一行,例如x = x或其他有益的内容,有时就可以解决问题。
您可能还需要进一步研究其他差异,例如它们拥有/运行的其他东西,而您没有。
没关系,但是您是否在某个位置声明变量并使用Option Explicit?
关于crash - 在Visual Basic 6应用程序上更改,exe崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41633645/