Marcio,

Espero ter entendido bem: sua função retorna um record, mas você também 
precisa também de um outro valor de retorno, um booleano. Se for isso, 
aqui vai a minha sugestão para o seu problema:

function TfrmEnvio.leXML_ReciboLoteEnviado(ArquivoEnder:String; var rec: 
TDadosRecibo):  boolean;

O retorno da função passa a ser o booleano. Se o retorno for TRUE é 
porque o record foi preenchido corretamente (teve resultado), ou seja, 
nenhum erro entre os previstos foi encontrado.

[ ]'s
Dirlei.


Marcio Luis escreveu:
>  
>
> Pessoal , tenho algumas funcoes aqui que utilizo o retorno como Record.
>
> Gostaria de uma ajuda dos mais experientes no assunto, se é correto isso ,
> ou tem forma mais pratica de usar.
>
> o mais esquisito é qundo quero tratar se teve resultado .
>
> numa funcao normal faria assim
>
> if minhaFuncao(valor) then
>
> agora com um recorde é mais complicado
> tenho que passar um valor .
>
> teria outro jeito de usar isso ??
>
> att. Marcio
>
> TDadosRecibo = record
> cStat : String;
> xMotivo: String;
> nRec: String;
> end;
>
> function TfrmEnvio.leXML_ReciboLoteEnviado(ArquivoEnder:String): 
> TDadosRecibo;
> var
> achou : Boolean;
>
> begin
> achou := FAlse;
>
> if achou = false then
> begin
> result.cStat := 'ERRO_404';
> Result.nRec := 'ERRO_404';
> Result.xMotivo := 'Arquivo nao encontrado' + ArquivoEnder;
> end
> else
> begin
>
> result.cStat := cStat;
> Result.nRec := nRec;
> Result.xMotivo := xMotivo;
> end;
>
> end;
>
> if
>
> 

Responder a