Moin !
Zum Testen nutze ich dann und wann gerne Konsolenanwendungen. Die sind schnell geschrieben und bei einigen Dingen ganz praktisch.
Jüngst habe ich mir eine Konsolenanwendung geschrieben mit einem TIdTCPClient. Im Grund soll die Anwendung Kommandos an den Server senden und das Feedback des Servers ausgeben.
Das Auslesen des Server Feedbacks geschieht in einem eigenen Thread und funktioniert auch ganz gut. In der Anwendung gibt es dann diese Stelle hier:
Delphi-Quellcode:
while Input <> 'q' do begin
Write('--> ');
Readln(Input);
Client.IOHandler.WriteLn(Input);
end;
Ich lese was ein und schreibe es weg zum Server. Auch das funktioniert. ABER ... Das Readln blockt die Ausgabe in die Console. Selbst wenn der Thread Daten zum Auslesen bekommt, so werden diese nicht dargestellt. Letztlich macht der Thread ein WriteLn(Msg);.
Gibt es einen Weg um dieses ReadLn Dilemma zu umgehen?