An einer EXE wirst du es aber nicht sehen können. Das OnExecute() wird zwar gerufen, aber an dem ReadLn() kommt er nicht vorbei.
Von "Außen" sieht man das nicht. Nur wenn du einen BreakPoint in das OnExecute beim begin setzt, also VOR dem ReadLn() und deinen String ohne CRLF schickt, solltest du es auch sehen.
Entschuldige bitte. Ich weiß, dass ich langsam wohl nerve. Aber ich muss nochmal fragen.
OnExecute
wird aufgerufen. Warum sehe ich dann wiederum keine Meldung;
auch wenn ich die Ausgabe ganz an den Anfgang setze:
Delphi-Quellcode:
Procedure TForm1.IdTCPServerExecute(AContext: TIdContext);
Var
Data:
String;
Begin
ScrollLog('
OnExecute();');
Application.ProcessMessages;
Data:= AContext.Connection.Socket.ReadLn();
Data:= Trim(Data);
// Sonder- und Leerzeichen entfernen
TThread.Synchronize(
nil,
// threadsicherer VCL-Zugriff
Procedure()
Begin
ScrollLog('
[Srv]: received:');
ScrollLog('
=> ' + Data);
End);
End;