社区
VB基础类
帖子详情
求资料:vb6应用程序退出流程(内部断后工作过程)
dafu2003
2012-04-19 03:11:50
vb6应用程序,用户点击窗口上的X后,管理模块发出事件 Form_QueryLoad, Form_Load 然后用户响应后,管理模块开始卸载窗体,清除一些对象。。。释放内存。。。等等。
本人需要这个过程的详细步骤。。。。管理模块到底是咋工作的。。。哪些对象、数据等是管理模块释放的,哪些必须由应用程序自己释放。。。。。。。
网上完全找不到这方面的资料。。。。。。。。。
...全文
440
7
打赏
收藏
求资料:vb6应用程序退出流程(内部断后工作过程)
vb6应用程序,用户点击窗口上的X后,管理模块发出事件 Form_QueryLoad, Form_Load 然后用户响应后,管理模块开始卸载窗体,清除一些对象。。。释放内存。。。等等。 本人需要这个过程的详细步骤。。。。管理模块到底是咋工作的。。。哪些对象、数据等是管理模块释放的,哪些必须由应用程序自己释放。。。。。。。 网上完全找不到这方面的资料。。。。。。。。。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Tiger_Zhao
2012-04-20
打赏
举报
回复
看本机的 MSDN 帮助
Visual Basic 窗体的存活期
在线版本
Life Cycle of Visual Basic Forms
神马被哪个妞占用了呢
2012-04-19
打赏
举报
回复
QueryUnload 事件
在一个窗体或应用程序关闭之前发生。当一个 MDIForm 对象关闭时,QueryUnload 事件先在 MDI 窗体发生,然后在所有 MDI 子窗体中发生。如果没有窗体取消 QueryUnload 事件,该 Unload 事件首先发生在所有其它窗体中,然后再发生在 MDI 窗体中。当一个子窗体或一个 Form 对象关闭时,在那个窗体中的 QueryUnload 事件先于该窗体的 Unload 事件发生。
语法
Private Sub Form_QueryUnload(cancel As Integer, unloadmode As Integer)
Private Sub MDIForm_QueryUnload(cancel As Integer, unloadmode As Integer)
QueryUnload 事件语法包括下列部分:
部分 描述
cancel 一个整数。将此参数设定为除 0 以外的任何值,可在所有已装载的窗体中停止 QueryUnload 事件,并阻止该窗体和应用程序的关闭。
unloadmode 一个值或一个常数,如返回值中所描述的,它指示引起 QueryUnload 事件的原因。
返回值
unloadmode 参数返回下列值:
常数 值 描述
vbFormControlMenu 0 用户从窗体上的“控件”菜单中选择“关闭”指令。
vbFormCode 1 Unload 语句被代码调用。
vbAppWindows 2 当前 Microsoft Windows 操作环境会话结束。
vbAppTaskManager 3 Microsoft Windows 任务管理器正在关闭应用程序。
vbFormMDIForm 4 MDI 子窗体正在关闭,因为 MDI 窗体正在关闭。
vbFormOwner 5 因为窗体的所有者正在关闭,所以窗体也在关闭。
这些常数是在对象浏览器中的 Visual Basic (VB) 对象库中列出。
说明
此事件的典型用法是在关闭一个应用程序之前用来确保包含在该应用程序中的窗体中没有未完成的任务。例如,如果还未保存某一窗体中的新数据,则应用程序会提示保存该数据。
当一个应用程序关闭时,可使用 QueryUnload 或 Unload 事件过程将 Cancel 属性设置为 True 来阻止关闭过程。但是,QueryUnload 事件是在任一个卸载之前在所有窗体中发生,而 Unload 是在每个窗体卸载时发生。
………………3楼的和这个就来自于vb6的帮助……
Unload 事件
当窗体从屏幕上删除时发生。当那个窗体被重新加载时,它的所有控件的内容均被重新初始化。当使用在 Control 菜单中的 Close 命令或 Unload 语句关闭该窗体时,此事件被触发。
语法
Private Sub object_Unload(cancel As Integer)
Unload 事件语法包括下列部分:
部分 描述
Object 一个对象表达式,其值是“应用于”列表中的一个对象。
Cancel 一个整数,用来确定窗体是否从屏幕删除。如果 cancel 为 0,则窗体被删除。将 cancel 设置为任何一个非零的值可防止窗体被删除。
说明
将 cancel 设置为任何非零的值可防止窗体被删除,但不能阻止其它事件,诸如从 Microsoft Windows 操作环境中退出等。可用 QueryUnload 事件阻止从 Windows 中的退出。
在窗体被卸载时,可用一个 Unload 事件过程来确认窗体是否应被卸载或用来指定想要发生的操作。也可在其中包括任何在关闭该窗体时也许需要的验证代码或将其中的数据储存到一个文件中。
QueryUnload 事件在 Unload 事件之前发生。Unload 事件在 Terminate 事件之前发生。
使用 Unload 语句或在一个窗体的“控件”菜单上选择“关闭”命令,用“任务窗口”列表上的“结束任务”按钮退出应用程序,在当前窗体为其一个子窗体的情况下关闭该 MDI 窗体,或当应用程序正在运行的时候退出 Microsoft Windows 操作环境等情况都可引发 Unload 事件。
worldy
2012-04-19
打赏
举报
回复
最权威的当然数MSDN6.0 太大,网上搜一下,自己下载一个
dafu2003
2012-04-19
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
QueryUnload 事件
MSDN的解释是:此事件的典型用法是在关闭一个应用程序之前用来确保包含在该应用程序中的窗体中没有未完成的任务。例如,如果还未保存某一窗体中的新数据,则应用程序会提示保存该数据。
当一个应用程序关闭时,可使用 QueryUnload 或 Unload 事件过程将 Cancel 属性设置为 True 来阻止关闭过程。但是,QueryUnload 事件是在任一个卸载……
[/Quote]
楼上有没有这方面的资料,我现在需要一个权威的结果。
东方之珠
2012-04-19
打赏
举报
回复
QueryUnload 事件
MSDN的解释是:
此事件的典型用法是在关闭一个应用程序之前用来确保包含在该应用程序中的窗体中没有未完成的任务。例如,如果还未保存某一窗体中的新数据,则应用程序会提示保存该数据。
当一个应用程序关闭时,可使用 QueryUnload 或 Unload 事件过程将 Cancel 属性设置为 True 来阻止关闭过程。但是,QueryUnload 事件是在任一个卸载之前在所有窗体中发生,而 Unload 是在每个窗体卸载时发生。
----------------------------------------
QueryUnload事件是在窗体卸载之前发生,Unload事件是在窗体卸载时发生。QueryUnload事件发生在Unload之前。
贝隆
2012-04-19
打赏
举报
回复
这个,查阅一下MSDN是不错的选择。慢慢看。不是一言两语能说清楚的。
东方之珠
2012-04-19
打赏
举报
回复
卸载窗体是有顺序的,严禁使用For each .. in Forms 卸载窗体,特别是各窗体引用了对象之后。先卸载哪些窗体,后卸载哪些窗体,确定好,依次Unload。一般说来,在卸载窗体之前,要先清空所有对象,消除各窗体之间对象的引用关系,卸载HOOK,卸载子类化等,准备工作做完之后,就可以依次Unload了。
需要注意的是,MSDN上有说明:在卸载窗体时,只有显示的部件被卸载。和该窗体模块相关联的代码还保持在内存中。
VB6
多线程探秘
VB6
稳定多线程,一直是争论很大的的。 比较稳定的多线程,一般使用 set MT=CreateObject("VbMT.MT") 但其他单元线程之间,是无法访问的,只有在创建者中,才可使用该对象MT. 还有一个问题,如果设置单元线程停止,一般通过设置属性,比如MT.bStop=True,设停止参数, 然后再单元线程中通过检测bStop而
退出
的。 但问题来了,如果单元线程挂起,通过
VB多窗体
退出
代码
Private Sub Form_Unload(Cancel As Integer) Dim Frm As Form For Each Frm In Forms Unload Frm Set Frm = Nothing Next End Sub ★VB部分相关文章推荐:★ ※vb中line的用法[转] ※画图工具的VB实现 ※VB 一个获得自己外网 IP 地址的程序...
VB.NET调用
VB6
Activex EXE实现PowerBasic和FreeBasic的标准DLL调用
VB.NET调用
VB6
Activex EXE实现PowerBasic和FreeBasic的标准DLL调用。
VB6
写的ActiveX EXE公共对象是外置进程,因此,尽管它是x86 32位的进程,但可以集成到 VB.NET的x64和x32程序中使用。
CodeSmart 与
VB6
IDEMouseWheelAddin 冲突导致
VB6
IDE
退出
异常
做梦也没想到,时隔8年后还能有机会接触
VB6
的开发。呵呵,都忘的差不多了,还好只是一些简单的修改。 之前的
VB6
电子书、插件、第三方组件都已在整理硬盘空间时删除了,不得已从网上找了个比较新的CodeSmart2009。这可是个好东东,具体哪儿好,没用过
VB6
的IDE是不会理解的。 装上CodeSmart,进行一番设置后,准备做快照。正当关闭VB开发环境时,突然报错,再打开IDE,CodeS
vb关闭时出现“
vb6
.0-
应用程序
错误”
vb关闭时出现“
vb6
.0-
应用程序
错误”
VB基础类
7,788
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章