我使用的是TIdTCPClient
。这似乎是一件简单的事情,但当我执行tcpClient->Connect();
时,我找不到更改错误消息"Already connected"
的方法
所以我设置了Host
、Port
和ConnectTimeout
,然后我调用了Connect()
。
我试图使用WriteLn()
来更改错误消息,也许这就是解决方案,但我可能用错了方法。
我只想向客户端显示(可能在ShowMessage()
或TLabel
中(,而不一定要向服务器显示。
如果客户端已经连接到服务器,则不能调用TIdTCPClient::Connect()
(TIdTCPClient::Connected()
返回true
(,必须先调用TIdTCPClient::Disconnect()
。
如果您询问如何更改错误消息文本本身,它是一个本地化字符串(IdResourceStringsCore
单元中的RSAlreadyConnected
(,因此只需根据需要本地化您的应用程序即可。
否则,您可以简单地使用try..catch
来捕获引发的EIdAlreadyConnected
异常,然后显示您想要的任何文本,例如:
try {
tcpClient->Connect();;
}
const (const EIdAlreadyConnected &) {
ShowMessage("Already connected! Please disconnect first.");
}
catch (const Exception &) {
ShowMessage("Error Connecting!");
}