Humm.. realmente agora que vi... mudei o código para ler a resposta mas não tratei o retorno lido...
Por favor tente a seguinte alteração:
function TACBrECFSwedaSTX.LeituraCMC7: AnsiString;
var
OldTimeOut: Integer;
begin
Result := EnviaComando('24|1|0|1000');
{ Leitura do CMC7 deve retornar mais dados }
OldTimeOut := TimeOut;
try
TimeOut := max(OldTimeOut,5); // Espere mais 5 segundos...
GravaLog( ' Aguardando Resposta CMC7');
LeResposta;
fpRespostaComando := fsRespostasComando ; // Respostas Acumuladas
GravaLog( ' Retorno Completo: '+fpRespostaComando );
{ Limpando de "fpRespostaComando" os Status não solicitados }
fpRespostaComando := AjustaRetorno( fpRespostaComando );
GravaLog( ' Retorno Tratado: '+fpRespostaComando );
Result := copy(fpRespostaComando,17,34); // Verificar
finally
TimeOut := OldTimeOut;
end;
end;[/code]