被VB6搞死。。。。。。。鸟
近日在做一个微型项目,用VB6做,
在类模板中定义,
Public Event GetSubTable(pMainId As String, pID As String,pSaveDatas() As DataInfor, pHaveMore As Boolean, pCancel As Boolean)
在IDE中可以完美运行,但在编译后就出现自动退出的问题,一开始还以为是平台问题,在多台机子上测试效果一样
用SMARTCHECK做调试发现在程序运行发生无效参数的异常,但找来找去都找不到具体的位置
最后经过一条一条语句的过虑,终于发现在事件调用上的错,
通过反汇编可以看到在调用的时候在VB运行库中发生了内存地址溢出的问题,
将事件参数顺序调整后,整个程序即正常
Public Event GetSubTable(pSaveDatas() As DataInfor, pMainId As String, pID As String, pHaveMore As Boolean, pCancel As Boolean)
为了这个问题,花了我一天的时候
在类模板中定义,
Public Event GetSubTable(pMainId As String, pID As String,pSaveDatas() As DataInfor, pHaveMore As Boolean, pCancel As Boolean)
在IDE中可以完美运行,但在编译后就出现自动退出的问题,一开始还以为是平台问题,在多台机子上测试效果一样
用SMARTCHECK做调试发现在程序运行发生无效参数的异常,但找来找去都找不到具体的位置
最后经过一条一条语句的过虑,终于发现在事件调用上的错,
通过反汇编可以看到在调用的时候在VB运行库中发生了内存地址溢出的问题,
将事件参数顺序调整后,整个程序即正常
Public Event GetSubTable(pSaveDatas() As DataInfor, pMainId As String, pID As String, pHaveMore As Boolean, pCancel As Boolean)
为了这个问题,花了我一天的时候