Assim não funga? Tirando o Free que libera o ponteiro. with RetDados('select * from cliente') do begin ShowMessage(FieldByName('RAZAO').AsString); Free( ) end;
_____ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Fellipe Henrique Enviada em: segunda-feira, 9 de junho de 2008 16:11 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Ajuda numa função que retorna DataSet. Davi, na verdade queria usar algo simples, sem ter que declarar nada, no estilo: with RetDados('select * from cliente') do begin ShowMessage(FieldByName('RAZAO').AsString); end; Seria pra facilitar, visto que, já tenho uma função que faz isso, porém tenho que declarar variavel, igual vc me mostrou, mas queria simplificar, claro se for possível.. :o) []s 2008/6/9 Davi Eduardo Borges Wall <[EMAIL PROTECTED] <mailto:davi.wall%40mult.com.br> com.br>: > Ai ai ai ai, ta faltando teoria Felipe! Só botar a mão na massa sem > entender o que está fazendo é perigoso. > > Você vai ter que retirar aquele CQ.FREE de dentro de sua função. > Na outra ponta você faz assim: > > Var > MeuDataSet: TDataSet; > Begin > MeuDataSet := RetDados('SELECT BLA FROM BLA'); > try > > //faço o que tenho que fazer > finally > > MeuDataSet.Free; > > End; > > Felipe vc precisa de mais entendimento da linguagem e de ponteiros, que é > necessário para praticar uma boa programação. > Sugiro a você comprar algum livro de Delphi e estudar mais. > > []'s > > De: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br <delphi-br%40yahoogrupos.com.br> [mailto: > [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br <delphi-br%40yahoogrupos.com.br>] Em nome de > Fellipe Henrique > Enviada em: segunda-feira, 9 de junho de 2008 15:56 > Para: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br <delphi-br%40yahoogrupos.com.br> > Assunto: Re: [delphi-br] Ajuda numa função que retorna DataSet. > > > Mas Rubem, isso eu havia entendido, porém.. se eu der um RetDados.Free; > estarei liberando meu cQ que está dentro da função? E tipo, não tem como eu > passar os dados, fechar a Query, liberar ela, e os dados permanecerem não? > Minha preocupação é com o desenrolar do sistema, muitas querys abertas sem > fechar.. > > []s > > 2008/6/9 Rubem Nascimento da Rocha <djpardalrocha@ <mailto:djpardalrocha%40hotmail.com> hotmail.com<djpardalrocha%40hotmail.com><mailto: > djpardalrocha%40hotmail.com <djpardalrocha%2540hotmail.com>> >: > > > > > É óbvio que tá dando erro! Preste atenção! Vc está liberando uma consulta > > que está sendo o retorno da sua função. Se vc libera a consulta, logo vai > > estar liberando o retorno! Esse é o erro! A consulta não deve ser > liberada! > > Atente para isso! > > > > Sds. > > > > ________________________________ > > > > To: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br <delphi-br%40yahoogrupos.com.br><mailto: > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > <delphi-br%40yahoogrupos.com.br> > > From: [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com> com <fellipeh%40gmail.com> <mailto: > fellipeh%40gmail.com <fellipeh%2540gmail.com>> <fellipeh%40gmail.com> > > > Date: Mon, 9 Jun 2008 15:47:04 -0300 > > Subject: [delphi-br] Ajuda numa função que retorna DataSet. > > > > > > Olá amigos, estou criando uma função, que me retorne um DataSet, com o > > resultado de um SQL passado como parametro, porém não estou conseguindo.. > > estou fazendo assim: > > > > function RetDados(sSQL: string): TDataSet; > > var > > cQ: TIBCQuery; > > cT: TIBCTransaction; > > begin > > cT := TIBCTransaction.Create(nil); > > cT.AddConnection(DM.Conexao); > > > > cQ := TIBCQuery.Create(nil); > > cQ.Transaction := cT; > > cQ.UpdateTransaction := cT; > > cQ.UniDirectional := True; > > try > > cQ.SQL.Text := sSQL; > > cQ.Open; > > Result := cQ; > > finally > > cQ.Free; > > cT.Free; > > end; > > end; > > > > Porém, sempre me retorna NIL, pois de qualquer forma passa no cQ.Free, e > > estou achando que quando faz isso eu perco o resultado. Seria isso mesmo? > > Se > > for, como concerto isso? > > > > Desde já agradeço. > > > > []s > > > > -- > > _________________________________ > > T.·.F.·.A.·. > > Fellipe Henrique > > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com> com <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com<fellipeh%2540gmail.com>> > <fellipeh%40gmail.com> > > > > Sou a favor da lei LEI 607/2007 > > > > __________________________________________________________ > > Confira vídeos com notícias do NY Times, gols direto do Lance, > > videocassetadas e muito mais no MSN Video! > > http://video. <http://video.msn.com/?mkt=pt-br> msn.com/?mkt=pt-br > > > > > > -- > _________________________________ > T.·.F.·.A.·. > Fellipe Henrique > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com> com <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com<fellipeh%2540gmail.com>> > > > Sou a favor da lei LEI 607/2007 > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > -- _________________________________ T.·.F.·.A.·. Fellipe Henrique [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com> com Sou a favor da lei LEI 607/2007 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]