|
分享源码
界面截图: |
|
是否带模块: |
纯源码 |
备注说明: |
- |
本帖最后由 chenyucheng 于 2024-2-11 23:37 编辑
“销毁”命令有一个参数,名叫“立即销毁”,被省略时默认为“假”。“销毁”命令和这个参数的说明如下:
调用格式: 〈无返回值〉 对象.销毁 ([逻辑型 立即销毁]) - 系统核心支持库->窗口
英文名称:destroy
销毁本窗口或窗口组件。窗口被销毁后,所有在载入本窗口之后对本窗口及其内窗口组件所进行的修改或设置都将被抛弃,窗口被销毁后如想再次使用必须重新装载。注意:当窗口调用本方法进行销毁时,窗口并不会被立即销毁,而会被推迟到其它所有现存窗口事件处理完毕后才会被真正销毁。本命令为初级对象成员命令。
参数<1>的名称为“立即销毁”,类型为“逻辑型(bool)”,可以被省略。通常情况下,调用销毁方法后为了考虑到事件处理子程序的后续安全操作,窗口真正的销毁工作会被延迟到所处事件处理子程序执行完毕后再进行,但有时由于某种特殊需要,可能希望窗口能够立即被销毁,设置本参数为真即可。注:1.核心库4.6版本以前(不包括4.6)由于不支持本参数,执行本方法始终会立即销毁;2.本参数仅在销毁窗口时有效,销毁窗口组件时始终都采取立即销毁方式。如果被省略,则参数默认值为假。
我想研究一下填“真”和填“假”有什么区别。经过一番研究后,我终于理解了区别。
举个例子,下面有两个窗口:
界面图示
其中主窗口的“载入子窗口”和子窗口的“载入主窗口”仅用于当其中一个窗口被关闭时重新显示它;主窗口的“处理一些事”才是重点:点击它后,弹出一个信息框用来选择显示哪个窗口中的列表框:
信息:在子窗口中显示列表?
选择“是”在子窗口中显示列表框,“否”则在主窗口中显示。然后,向列表框中添加20000条项目。当添加到第10000条项目后,会再显示信息框:
信息:事情处理到一半,要销毁窗口吗?
选择“是”则销毁窗口,“否”则不销毁窗口。如果选择了“是”,那么还会问你:
信息:立即销毁?
选择“是”之后,立即销毁窗口,就是用“销毁 (真)”命令销毁。由于事情还没有完成,而列表框已经跟所在的窗口一同销毁,所以就报错了。
- ---------------------------
- 错误
- ---------------------------
- 运行时出错!
- 错误信息:指定窗口或窗口组件不存在或尚未载入
- 1375797249, 369164299
- ""
- ""
- ---------------------------
- 确定
- ---------------------------
复制代码
选择“否”之后,不会立即销毁窗口,就是用“销毁 (假)”或“销毁 ()”命令销毁。此时,程序没有销毁列表框所在的窗口,而继续向列表框中添加剩下的10000条项目。做完了以后,列表框所在的窗口会自动销毁,之后显示“处理完成”信息框。
提示:处理完成
当然,如果在第二个信息框(要销毁窗口吗)中选择了“否”,那么会继续正常做事,做完以后显示“处理完成”信息框。
总结:“不立即销毁”会等待做事完毕;“立即销毁”不会等待做事完毕。
以下是示例程序的代码,可以自己运行一下来了解"立即销毁"参数的作用与用法。
立即销毁.e
(6.08 KB, 下载次数: 19)
|
评分
-
查看全部评分
|