Probiere er einmal das hier aus:
Delphi-Quellcode:
procedure TForm1.timScanTimer( Sender: TObject );
begin
timScan.Enabled := false; // Timer anhalten
try
// nix im Buffer, dann brauche ich auch nicht fragen ...
if tcpClient.IOHandler.InputBufferIsEmpty
then
Exit; // tschüss bis später
tag := 5;
Inc( intLine ); // Durchläufe zählen
Label1.Caption := IntToStr( intLine ); // Durchläufe anzeigen
// Application.ProcessMessages;
tcpClient.IOHandler.CheckForDisconnect( ); // ist die Verbindung noch da?
strLine := tcpClient.IOHandler.ReadLn; // Inhalt nach Zwischenvariable
tcpClient.Disconnect; // Client abschalten
try
if strLine <> ''
then
begin // ein Barcode wurde erkannt
memLog.Lines.Add( TimeToStr( now( ) ) + strLine ); // Barcode in Memo schreiben
strLine := ''; // Zwischenvariable leeren
end;
finally
tcpClient.Connect; // und Client wieder anschalten
end;
finally
timScan.Enabled := true; // Timer wieder starten
end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)