Kod: Tümünü seç
type
TReadingThread = class(TThread)
protected
FConnection: TIdTCPConnection;
FLogResult: TStrings;
procedure Execute; override;
public
constructor Create(AConn: TIdTCPConnection; ALogResult: TStrings);
reintroduce;
end;
Kod: Tümünü seç
procedure TReadingThread.Execute;
Var
strData: String;
begin
while not Terminated do
begin
try
strData := FConnection.IOHandler.ReadLn;
if strData <> '' then
begin
FLogResult.Add(strData);
end;
except
on E: Exception do
begin
FConnection.Disconnect(False);
if FConnection.IOHandler <> nil then
FConnection.IOHandler.InputBuffer.Clear;
Break;
end;
end;
Sleep(10);
end; // While
end;
thread create
Kod: Tümünü seç
constructor TReadingThread.Create(AConn: TIdTCPConnection;
ALogResult: TStrings);
begin
FConnection := AConn;
FLogResult := ALogResult;
inherited Create(False);
end;
Kod: Tümünü seç
ListeningThread := TReadingThread.Create(TcpClient, commandsmemo.Lines);