Olá amigos, estou tentando fazer a comunicação com o ACBRNFeMonitor através de TCP, porém, não estou obtendo a resposta completa do Monitor.
Função:
function f_executaComando(cmd: string; telnet : TTCPBlockSocket): string;
var respbyte: Byte;
resp: string;
begin
telnet.SetSendTimeout(200);
telnet.SendString(cmd + CRLF + '.' + CRLF);
resp := Trim(AnsiToUtf8(telnet.RecvTerminated(1000,#3)));
if resp = '' then
begin
respbyte := 0;
while (respbyte <> 3) do
begin
respbyte := telnet.RecvByte(10);
resp := resp + chr(respbyte);
Application.ProcessMessages;
end;
resp := Trim(AnsiToUtf8(resp));
end;
Result := resp;
end;
COMANDO que estou executando:
SClient := TTCPBlockSocket.Create;
SClient.Connect('127.0.0.1','3436');
v_resposta:= f_executaComando('NFE.CRIARNFESEFAZ("C:\35120806225580000100550010000001771000002863-nfe.txt",1)',SClient);
O Conteudo da variavel v_resposta é:
ACBrNFeMonitor2 Ver. 0.7.1c_20120628 - CAPICOM
Conectado em: 24/09/12 16:53:06
Máquina: 127.0.0.1
Esperando por comandos.
Gostaria de saber como pegar o resto da resposta para eu poder tratar, pois no Monitor, aparece que a resposta enviada foi:
NFE.CRIARNFESEFAZ("C:\35120806225580000100550010000001771000002863-nfe.txt",1)
ERRO: Arquivo C:\35120806225580000100550010000001771000002863-nfe.txt não encontrado.
ALERTA: Fim da Conexão com: 127.0.0.1 em: 24/09/12 16:54:48
Alguma dica?
Obriado,
Renato