Net.CrossSocket.Base.pas _Log 在debug模式下,報内存分配和非法訪問的錯誤。
Opened this issue · 1 comments
wqmeng commented
procedure _Log(const S: string); overload;
begin
if Assigned(_CrossLogger) then
_CrossLogger(S)
else
begin
{if IsConsole then
Writeln(S); // 報錯位置。
AppendLog(S);} // 報錯位置。
end;
end;
今天用單元測試,測試一個socket通信,使用的是控制臺應用。_Log 這裏開始報錯。
另外請教一個問題,
FSocket關閉的時候, 要先停掉什麽?我看示例Demo程序裏面,是
Delphi-Cross-Socket\Net\Demos\Old\TestCrossSocket
FSocket.StopLoop;
FSocket := nil;
之前我一直是
FSocket.CloseAll;
FSocket.StopLoop;
FSocket := nil;
但是今天測試的時候上面的代碼在 StopLoop 這裏報錯。
然後又改成了這樣,好像要好一些。
FSocket.DisconnectAll;
FSocket.CloseAll;
Sleep(20);
FSocket.StopLoop;
FSocket := nil;
謝謝。
winddriver commented
最好提供能复现问题的完整工程,才好确定到底是哪里的问题