私は私を混乱させているエラーがあります。次のコードは、TidTCPClientからTidTCPServerに行を送信します。初めて実行するときは、完全に機能します。2回目の実行時、およびその後の毎回、すべての文字列の先頭に改行が追加されます。私は何が欠けていますか?(私はそれが奇妙な方法でそれを行うことを知っていますが、クライアントのリストは完全なコードで必要です)
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;