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 > >