Delphi编译错误:Cannot focus a disabled or invisible window

来源:百度知道 编辑:UC知道 时间:2024/05/25 04:26:54
这个窗体是在一个主窗体的popupmenu中调用显示此模块,可是出错。我的那个被调用的窗体是从别处加载过来的,使这出的问题吗?如果不重新创建类似的窗体,还有其他办法吗?到底是什么原因呢?

你是在未初始化前就调用了它,你可以在调用的程序段中判断它的类是否为空,空的话调用它的创建函数来初始化它,你也可以设置断点来查看。例如有个模块MAINDM需要调用,加入下面的语句。IF MAINDM=NIL THEN //maindm模块的判断
MAINDM:=MAINDM.Create(APPLICATION); //创建模块
根据你自己的程序改吧

主要问题你在不恰当的地方调用了:
xxx.SetFocus;
这样的方法,而此时此对象未建立或无法显示,你逐步检查一下出错的地方即可。

请参考
http://topic.csdn.net/t/20010629/19/176008.html

看看其中有没有你要的答案。

你在某个窗口里 调用了不可见控件的setfocus方法,你再检查下被调用的窗口创建时运行的代码!