basta jogar os campos e retorno para um array Campos: array of Variant; Retorno: array of Variant;
SetLength(Campos,2); SetLength(Retorno,2); Campos[0] := 'MEU_CAMPO1'; Campos[1] := 'MEU_CAMPO2'; dentro da procedure Pesquisa faça: procedure Pesquisa(meuDataset: Tdataset; Campos: array of Variant; var Retorno: array of Variant;) ... for i := 0 to Length(Campos) - 1 do Retorno[i] := MeuDataSetPesquisa.FieldByName(Campos[i]).Value; ... chamando assim: Pesquisa(MeuDataSetPesquisa, Campos, Retorno) Att. JB 2009/7/10 Thiago gmail <thiago.racha...@gmail.com>: > > > Tenho uma rotina padronizada que passo como parametro a tabela e o campo de > retorno e ele retorna o valor do registro selecionado. Agora preciso fazer > que esta rotina possa retornar o valor de mais de um campo. > > por exemplo > > var VarRetorno1, VarRetorno2 : variant; > begin > Pesquisa(Tabelax, [CampoRetorno1, CampoRetorno2], [VarRetorno1, > VarRetorno2]) > end; > > sendo que VarRetorno são as variáveis que vão receber os valores do registro > selecionado > > Alguem pode me dar uma luz de como fazer? > > [As partes desta mensagem que não continham texto foram removidas] > > -- ____________________________ José Benedito Software Developer skype:jb.sologix