小弟最近要交毕业设计了~~ 做的一个小系统 整个功能大体都实现了,但是每次运行的时候它总要提示“Projece Sale.exe raised exception class EInvalidOperation with message 'Cannot focus a  disabled or invisible window'.Process stopped.
Use Step or Run to continue.”这样的然后我再点运行,它又会提示这样的信息 反复运行几次我的程序才能够运行 。一共有三个窗体是这样的情况;可是我检查了好几边代码 应该没什么问题了;而且以前有问题的那个窗体我把它删去了 后来做分窗体的时候,我根本就没打开过主窗体,也没改代码,结果主窗体出现了这样讨厌的错误, 到底是怎么回事啊,各位大哥大姐门一定要帮帮我 不然过两天几个变态老师检查 我一定挂了,我的文凭就拿不到了。感谢每位给我意见的大哥大姐。

解决方案 »

  1.   

    Cannot focus a  disabled or invisible window你看看那个窗体你要给他set focus
      

  2.   

    你是不是在打开子窗口的时候主窗口enable:=false了?我试过类似的。最好用HIDE。
      

  3.   

    我窗体的属性又没有动它~~ 那为什么其它的几个窗体都没问题呢? jinjazee大哥麻烦你讲详细点,怎么给他 set focus啊?
      

  4.   

    而且我没有设置他的enable:=false, 根本就没管它啊 我点主窗体的菜单项 只用了“子窗体.showmodal”这一条语句啊! cloudoyx 还是很感谢你啊
      

  5.   

    肯定是你在窗体的OnCreate中使用setfocus了,改成ActiveControl := 、、、、就行。
      

  6.   

    可能是你要showmodal的窗体是隐藏的.
      

  7.   

    ImFool 你说的ActiveControl是干什么用的啊?
     但是我有问题的那几个窗体我没用setfocus啊,我就给BDE里面的Query控件指定了数据源~
     只不过在另外几个没提示错误的窗体中的oncreate事件中用到了setfocus ,应该不会关这个的事吧?
      

  8.   

    WHHS027(柠檬茶):当然就是那个事!“另外几个没提示错误的窗体”正是因为那几个窗体的异常发生在显示出来之前----oncreate中的setfocus 。错误信息本身说的很清楚,你不能给还没有显出出来的窗体控制设焦点!至于ActiveControl是什么,看看帮助吧。或者,别多想,直接用它替换掉那些setfocus 。
      

  9.   

    ImFool,我那个问题终于解决了,既然是那些没问题的窗体里面的setfocus的问题,非常感谢你啊!