解决方案 »
- TIdUDPServer做收发,出现 Interrupted function call.
- 在线等待 - 熟悉API或者内存读写的朋友帮忙看看。
- 怎麼樣導入帶公式的Excel文檔。
- 怎么样在DBGrid中代码添加记录啊?
- 如何实现在delphi中检验主键的唯一性?
- 哪位兄弟有vclskin的源代码?
- 求Delphi directinput 的用法和详细Demo
- 各位老师,请看下列需求该如何设计?
- 我做了一个系统用的是SQL Server,关于数据导出的问题?
- 用鼠标点击DBGrid时,如何将DBGrid里的所在列的字段名取出,在线等
- delphi7 两个fsNormal 窗体 点击按钮 form1 关闭 form2打开 怎么写代码啊?
- XE5 使用了皮肤,Tmemo背景色无效,如何解决
ReceiveBuf抛异常了有Disconnect(FSocket)的处理哦。
try
bufRecv :=Pointer(Integer(bufRecv)+iLength);
iLength :=ClientSocket.Socket.ReceiveLength;
FrFileSize :=FrFileSize +iLength; //接收长度 iLength
GetMem(bufRecv,iLength);
ClientSocket.Socket.ReceiveBuf(bufRecv^,iLength);
try
//业务逻辑处理
finally
FreeMem(bufRecv,iLength);
end;
except
on E: Exception do
begin
TLog.SaveTraceLog('Socket读取出错:'+E.Message);
end;
end;
没有捕获到异常。并且,如果我强制不让发送Disconnect消息,系统能够正常接收完成!
强制不让发送Disconnect消息,不是很明白,感觉是哪里业务逻辑没整好?
就是在scktcomp.pas中截获一下消息,发现是关闭连接的,直接Exit,不往下面执行。