IdTCPS: TIdTCPServer; 我想在IdTCPSExecute事件中接收一个指令,然后使用Application.Terminate;关闭应用程序。却关闭不了。执行Application.Terminate;之前,我有做AThread.Connection.Disconnect;当我使用IdTCPS.Active:=False;后,抛出异常:
Project Project1.exe raised exception class EIdTerminateThreadTimeout with Message 'Terminate Thread Timeout'。如果不使用IdTCPS.Active:=False就没有问题。
注明:我跟踪了Application.Terminate,它确实有执行。请问各位大虾,如果在IdTCPSExecute中关闭应用程序?
Project Project1.exe raised exception class EIdTerminateThreadTimeout with Message 'Terminate Thread Timeout'。如果不使用IdTCPS.Active:=False就没有问题。
注明:我跟踪了Application.Terminate,它确实有执行。请问各位大虾,如果在IdTCPSExecute中关闭应用程序?
解决方案 »
- idtcpserver 多线程连接数据库
- TADOStoredProc如何建立数据表之间的Master/Dateil关系。
- 深圳程序员的盛会
- 怎么删除不了?
- 请问有谁做过手机短信的收发器?在线等
- 如何把datetimepicker的日期格式转化为能直接和oracle的日期进行比较的格式?
- DELPHI中如何取字符串中的一个字符
- --------我发现一个问题,还是关于SQL server的日期类型.请高手进来看看!------
- 真的很想做好每一件事情,所以总在不停的努力,可结果总不是很理想,我不停的努力,也不停的承受打击,我坚信前途是光明的,但道路也真的
- 为了防止开发的软件非法COPY,需要在机器上插个软件狗,请问在DELPHI中怎么读那个端口?谢谢!!!
- 100分提问,多年不用Delphi,自己写的都看不懂了,查询的问题
- Tcolorbox如和用?
两个组件。client是每次连接后都自动断开。而且我在接收到关闭命令后,会检查该client是否断开,如果没有那么就断开。在tidtcpserver的那个事件中,一接到关闭命令后,会先将AThread断开,然后在application.Terminate。请各位详细说明一下。我现在是一个头两个大。急用。
建一个自定义消息处理函数procedure MessageHandler(var Msg:TMessage);message CU_CLOSEMESSAGE;在这个函数里关闭。
IdTCPSExecute中就sendmessage(self.Handle, CU_CLOSEMESSAGE,0,0); 就可以了。
你试试看