曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2918|回复: 0
打印 上一主题 下一主题

指定窗口或窗口组件不存在或尚未载入

[复制链接]

716

主题

734

帖子

2946

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
2946
跳转到指定楼层
楼主
发表于 2013-2-16 17:06:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在编写易语言程序的时候,可能会经常遇到“指定窗口或窗口组件不存在或尚未载入”的运行时错误提示:

造成该现象的原因提示信息已经说得很明白。下面举一个具体错误例子来说明。

先插入一个新的窗口。方法是在“程序”面板里,右键点击“窗口”,在弹出的菜单中选择“新插入窗口”,这样就新建立了一个窗口。

接着在“_启动窗口”中拉入一个“按钮”控件,然后双击该按钮控件,输入下面的程序代码:


再接着调试程序,按下“按钮2”,比如我这里:

如果关闭这个新窗口,就会看到上面的错误提示。造成这个错误的原因是我们对窗口的“载入”这个命令输入了错误的参数。先看“载入”这个命令的帮助说明:
    调用格式: 〈逻辑型〉 载入 (窗口 欲载入的窗口,[窗口 父窗口],逻辑型 是否采用对话框方式) - 系统核心支持库->其他
    英文名称:LoadWin
    载入指定的窗口,根据窗口的“可视”属性决定是否显示它。成功返回真,失败返回假。本命令为初级命令。
    参数<1>的名称为“欲载入的窗口”,类型为“窗口(window)”。参数值指定欲载入的窗口。
    参数<2>的名称为“父窗口”,类型为“窗口(window)”,可以被省略。参数值指定欲载入窗口的父窗口,此窗口必须已经被载入。如果本参数被省略,表示无父窗口。如果窗口具有父窗口,其位置将永远位于父窗口的上面;当父窗口被关闭时,窗口将自动被关闭;当父窗口被禁止时,窗口将自动被禁止。
    数<3>的名称为“是否采用对话框方式”,类型为“逻辑型(bool)”,初始值为“真”。参数值指定用户在对被载入窗口进行操作的同时是否允许同时对其他窗口进行操作,如果本参数值为真且被载入窗口的“可视”属性为真,则命令将一直等待到该窗口被销毁后才返回。
注意对“参数3“的说明,如果该参数设置为真,那么命令就会一直等待到该窗口被销毁后才返回。也就是说,当我们点击关闭窗口按钮关闭新载入的窗口时,载入() 函数返回,此时接着运行下面的“窗口1.移动()”方法势必会错误,因为此时窗口1已经被销毁了。纠正这个错误很简单,就是将第 3 个参数改为“假”。在这种情况下,“载入()" 函数不会等到“窗口1”销毁后才返回,而是一旦“窗口1”载入一完毕它就返回,因此它在“窗口1”还存在的时候对其进行“移动”自然不会有什么问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-17 21:26 , Processed in 0.075532 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表