我有一个错误让我很困惑。以下代码将一行从 TidTCPClient 发送到 TidTCPServer。第一次执行时,它运行良好。它第二次执行,之后每次都在每个字符串的开头添加一个换行符。我错过了什么?(我知道它以一种奇怪的方式做到了,但完整代码中需要客户列表)
procedure TClientForm.ButtonSendStringClick(Sender: TObject);
var
I: integer;
List: TList;
begin
List := ClientList.LockList;
try
for I := 0 to (List.Count- 1) do
begin
TidTCPClient(List[I]).IOHandler.WriteLn('Hello'+'|x|');
end;
finally
ClientList.UnlockList;
end;
Edit1.Text := '';
end;
procedure TClientForm.IdTCPServer1Execute(AContext: TIdContext);
var
LLine: string;
begin
LLine := Acontext.Connection.IOHandler.ReadLn('|x|');
OutputDebugString(PChar(LLine));
end;