Boa tarde,
pelo log do acbr, o usuario DOPI mandou para o servidor a seguinte alteração
Antes:
function TACBrTEFD.InfoECFAsString(Operacao: TACBrTEFDInfoECF): String;
var
Retorno: String;
begin
Retorno := '';
fTefClass.GravaLog( 'InfoECF: '+
GetEnumName(TypeInfo(TACBrTEFDInfoECF), Integer(Operacao) ) ) ;
try
OnInfoEcf( Operacao, Retorno ) ;
except
On E : Exception do
begin
fTefClass.GravaLog( fTefClass.Name +' Erro: '+E.Message ) ;
raise EACBrTEFDECF.Create(E.Message);
end;
end;
fTefClass.GravaLog( ' Ret: '+Retorno ) ;
Result := Retorno;
end;
Atual:
function TACBrTEFD.InfoECFAsString(Operacao: TACBrTEFDInfoECF): String;
var
Retorno: String;
begin
Retorno := '';
fTefClass.GravaLog( 'InfoECF: '+
GetEnumName(TypeInfo(TACBrTEFDInfoECF), Integer(Operacao) ) ) ;
while Retorno = '' do
begin
try
OnInfoEcf( Operacao, Retorno ) ;
except
On E : Exception do
begin
fTefClass.GravaLog( fTefClass.Name +' Erro: '+E.Message ) ;
if DoExibeMsg( opmYesNo, CACBrTEFD_Erro_ECFNaoResponde ) <> mrYes then
raise EACBrTEFDECF.Create(E.Message);
end;
end;
end;
fTefClass.GravaLog( ' Ret: '+Retorno ) ;
Result := Retorno;
end;
a partir desta atualização, minha aplicação fica em loop infinito neste while adicionado. Eu pesquisei nos fontes e tentei entender o objetivo com isso,
mas ainda nao obtive resultados.
Dopi e demais usuarios, o que seria exatamente a necessidade desta alteração?
obrigado.