VB开发环境下执行和编译成EXE执行有什么不同之处? 我写了一个程序中的某一个特定操作(该操作只有一条语句:End)在VB开发环境下执行(F5)没有任何问题,但是一旦编译成EXE,用EXE执行就报错。请问这两种情况有什么区别?应该以哪种为标准呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你只是把其中一部分生成EXE,,,,,如果全部生成就不会出错,,,,调试环境下有些定义是可以忽视的,但编译成EXE却要相对有明确的定义! 就是编译为P代码。明确定义是不是指这个:Option Explicit?我也有的。。 记住一句话:永远不要用END!END语句是一种“暴力”结束应用程序的方式。如果你的程序中的某些对象未释放,或者是引用了一些底层的API,那么用END语句很可能会造成内存泄露,出错也就不足为奇了。 楼上的说的很正确,脱离后不在受ide的管理,那么肯定不一样 你把所有窗体全用Unload 方法卸载,引用对象(类)全部用Set 类 = nothing释放就没有什么问题,如果用到了子类或者hook,要注意怎么取消子类或者hook哦 @ cso(sjxsoft)改用阁下的方法了,中止程序改成这样: Dim f As Form For Each f In Forms Unload f Set f = Nothing Next f同样,还有错误,我在程序中使用了一个第三方的控件,出错就是在这个控件的一个事件中调用中止程序产生的(其他地方调用是没有错误的,即使原来那样用END)。有没有什么办法解决呢? 该控件自带的例子的中止程序(运行没有错误)是这样的:PostMessage Me.hwnd, WM_SYSCOMMAND, SC_CLOSE, 0我改用同样的调用,但是错误依旧。。 大家有没有碰到这样的情况 高回报求百度贴吧验证码 如何解决这个错误:未能找到OLE DB提供程序'Micorsoft.JET.OLEDB.3.51'的注册表项 这是网上“李海”的关于VB安装向导的回答,大家看看,为什么我在重新编译时 gstrDIR_DEST 未定义呢???这是怎么回事???这回给分50! 散分 文本框里的字体颜色能不能部分改变? 100分相送!关于mshflexgrid的问题? API函数,在VB中如何正确调用API函数 8数码难题,谁会编?(NULL) 招VB高手 求高效处理 数据 的算法(自定义一些数据包协议),讨论一下 关于Tabscript控件的问题?
明确定义是不是指这个:Option Explicit?
我也有的。。
改用阁下的方法了,中止程序改成这样:
Dim f As Form
For Each f In Forms
Unload f
Set f = Nothing
Next f
同样,还有错误,我在程序中使用了一个第三方的控件,出错就是在这个控件的一个事件中调用中止程序产生的(其他地方调用是没有错误的,即使原来那样用END)。有没有什么办法解决呢?
PostMessage Me.hwnd, WM_SYSCOMMAND, SC_CLOSE, 0
我改用同样的调用,但是错误依旧。。