关掉程序时总是出现“无效的窗口句柄...”的提示(100分)(100分)

  • 主题发起人 主题发起人 雪狐狸
  • 开始时间 开始时间

雪狐狸

Unregistered / Unconfirmed
GUEST, unregistred user!
我用IdTCPServer和IdTCPClient建了一个局域网文件传输程序,服务端发,客户端收。我把服务端做成托盘,监测到客户端OnConnect便自动弹出。但在自动弹出后有些组件(Memo1)不显示,而且关掉服务端程序时总是出现“无效的窗口句柄...”的提示。但如果服务端程序在启动时不隐藏,而再手动Hide一下,就正常了。能是哪里出问题了呢?
 
我用SQL数据库..程序DM里会连接数据库,,外面应用程序有一个单独的连接....在调试的时候,要是DM没有连接就会出现那个错误,,
 
呵呵,谢谢
我在程序里还没有调用数据库
有朋友说,要我Show前先Greate
要Hide前先Free
是这样么?
但托盘程序我不熟啊...
 
你出错的控件肯定是
线程里面访问

最好同步一下,线程里访问VCL最好用Synchronize
 
可能是托盘发送消息的时候出现的问题
 
你有三个问题,你给多少分随便吧/
1,弹出后组件不显示问题.要显示前加入,窗囗的Visible=true,
2,无效窗囗 先关闭IdTCPServer,再close窗囗.
3,启动不隐藏.启动时加入Application.ShowMainForm:=false.
 
窗口free掉之后,不等于程序就玩完了,程序某部分还在,它还要通知系统刷新窗口,系统就会发出什么1400“无效的窗口句柄”的警告,关闭窗口之前,要等待所有IdTCPServer和IdTCPClient真正断开,然后才关闭。
 
但在自动弹出后有些组件(Memo1)不显示,而且关掉服务端程序时总是出现“无效的窗口句柄...”的提示
你把你这部分代码写出来看看!我猜这里是你出错的所在! Memo1 这个不显说明你没有使用
Show方法你使用TForm 的Show 方法就会显出来的
 
谢谢大家的帮助,这个问题是我以前提的。
那时我实在没有办法,也没有时间去研究了,
所以就主窗体创建时,先显示了1秒的时间,然后隐藏掉。
这样,就没有事了,呵呵。
我知道我的方法肯定不是什么好法,等手里的活忙完了,
我会好好试试大家说的办法的。
再次感谢大伙的热心!
 
后退
顶部