我在一个项目中碰到一个问题,我是通过SOCKET去连接数据库的.然后断线后我就会调用ResetConnect()去重联.
我现在想要达到的目的是,如果客户取消连接我就直接关闭程序.
//
其中取数是这样的.
ResetConnect();
ClientDataSet1.Data := TPubSocketConnet.GetDataBySQLS(AstrSql);
//ResetConnect()的过程如下
//如果连接变断开提示用户重新连接或关闭程序
while not TPubSocketConnet.Conected do begin
if TPubMsg.ShowMsgBox( TPubLanguage.language.GetValue(STR_LANGUAGEID_DisconnectServerAreYouResetConnect, '与服务器的连接被断开,是否重新连接'),
TPubLanguage.language.GetValue(STR_LANGUAGEID_Prompt, '提示'),
mb_YesNo ) = idyes then begin
TPubSocketConnet.ResetConnect();
end else begin
Break;
end;
end;
//
此时我如果把 Break改成 Application.Terminator 或 halt
就会出异常.
我试着用
tryexcept
end
还是会继续执行其它代码,并出异常.
我现在想要达到的目的是,如果客户取消连接我就直接关闭程序.
//
其中取数是这样的.
ResetConnect();
ClientDataSet1.Data := TPubSocketConnet.GetDataBySQLS(AstrSql);
//ResetConnect()的过程如下
//如果连接变断开提示用户重新连接或关闭程序
while not TPubSocketConnet.Conected do begin
if TPubMsg.ShowMsgBox( TPubLanguage.language.GetValue(STR_LANGUAGEID_DisconnectServerAreYouResetConnect, '与服务器的连接被断开,是否重新连接'),
TPubLanguage.language.GetValue(STR_LANGUAGEID_Prompt, '提示'),
mb_YesNo ) = idyes then begin
TPubSocketConnet.ResetConnect();
end else begin
Break;
end;
end;
//
此时我如果把 Break改成 Application.Terminator 或 halt
就会出异常.
我试着用
tryexcept
end
还是会继续执行其它代码,并出异常.
解决方案 »
- delphi ftp下载文件,如果ftp服务端文件不存在怎么判断?谢谢大家了。
- 请问这个record的句子是什么意思?没见过这样子写的。谢谢
- dll调用问题
- 如何发送消息使时间控件下拉?
- 怎样在程序中更改paradox数据库的密码?
- 可用分太多了,散点分
- 急,一不小心误删paradox的一个表中数据,如何恢复??求助。
- delphi 7安装dev express 控件
- delphi中怎么处理两个数据库之间的数据操作
- 如何获取窗口最小化事件?
- 求助:VC 和 VB 里的 MSSCOM 串口控件,delphi 要下载哪一个啊?给个下载地址,好吗?谢谢!
- 请教cxGrid如何在某列表格中画一个椭圆或圆的图形???请帮忙
application.Terminate;
exit;试一下
因为Application.Terminate;只是发出退出系统的消息,并不会退出当前的函数。
你在Application.Terminate;
后面加上一句:exit;就可以了。
然后在程序执行此函数的下一个函数时执行terminate