|
unit clrespuesta;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils,IdTCPClient;
|
|
type
|
|
ThrRespuesta = class(TThread)
|
|
private
|
|
fhost,fcomando:string;
|
|
fcliente:TIdTcpClient;
|
|
procedure cerrar;
|
|
protected
|
|
procedure Execute; override;
|
|
public
|
|
constructor Create(host,comando:string);
|
|
end;
|
|
|
|
implementation
|
|
uses main;
|
|
const
|
|
PUERTO:integer=38255;
|
|
constructor ThrRespuesta.Create(host,comando:string);
|
|
begin
|
|
inherited Create(true);
|
|
fhost:=host;
|
|
fcomando:=comando;
|
|
FreeOnTerminate:=True;
|
|
end;
|
|
|
|
procedure ThrRespuesta.Execute;
|
|
begin
|
|
try
|
|
try
|
|
fcliente:=TidTcpClient.create(nil);
|
|
try
|
|
fcliente.Host:=fhost;
|
|
fcliente.port:=PUERTO;
|
|
fcliente.ConnectTimeout:=1000;
|
|
fcliente.connect;
|
|
fcliente.GetResponse(200);
|
|
fcliente.sendCmd(fcomando,260);
|
|
finally
|
|
fcliente.Disconnect;
|
|
fcliente.free;
|
|
end;
|
|
finally
|
|
synchronize(@cerrar);
|
|
end;
|
|
|
|
except
|
|
writeLn('Error al enviar respuesta');
|
|
end;
|
|
end;
|
|
procedure ThrRespuesta.cerrar;
|
|
begin
|
|
frmmain.finalizar;
|
|
end;
|
|
end.
|
|
|