> Diego,
> concordo com a forma que tu espôs, mas porque tabalhar com a query em RunTime?
> Na minha opinião, se não tiver uma justificativa para isso, prefiro colocar um componente na tela e utilizar sempre o mesmo componente. Te poupa o tempo e o trabalho de tracar a criação/destruição da query a cada ciclo.
> Att.,
> 2009/11/3 Diego Campos Rosa <diego.camposr...@gmail.com>
>> Mauricio,
>> Minha sugestão para o seu caso é fazer a seguinte implementação:
>> procedure TForm1.tmrTimerTimer(Sender: TObject);
>> var
>> Qpreco_acoes : TQuery; //Trabalhar com query em RumTime
>> begin
>> tmrTimer.Enabled := False; //Para o timer até a sua query seja executada.
>> try
>> Qpreco_acoes := TQuery.Create(Sender); //Cria a query RumTime
>> Qpreco_acoes.Close;
>> Qpreco_acoes.SQL.clear;
>> Qpreco_acoes.SQL.add('select * from plan1');
>> Qpreco_acoes.Open;
>> //Faz o que tu precisa fazer aqui
>> finally
>> Qpreco_acoes.Close;
>> FreeAndNil(Qpreco_acoes); //Libera a query da memoria
>> tmrTimer.Enabled := True; //Ativa o contador para os proximos 10, 15 min conforme você programou.
>> end;
>> end;
>> Espero que tenha ficado claro. Desta forma certamente você não terá mais problemas.
>> Atenciosamente,
>> Diego Campos Rosa
>> Consultor em Tecnologia da Informação
>> Mobile 55 51 84597563
>> Aquasoft Tecnologia da Informação
>> (51) 3022-3188 - Porto Alegre/RS - Brasil
>> Parceira Embarcadero no RS
>> http://www.aquasoft.com.br
>> Public Profile
>> http://www.linkedin.com/in/diegocamposrosa82
>> https://twitter.com/diegocamposrosa
>> 2009/11/3 <mauricio.p...@terra.com.br>
>>> Sim.... é o que está dentro do timer.
>>> eu só preciso abrir e fechar a query para pois os valores da tabela são alterados a cada segundo.
>>> então eu preciso abrir a cada 10 ou 15 segundos para atualizar a tela.
>>> Mauricio
>>>> Maurício, tenta o seguinte:
>>>> procedure TForm1.TcotacoesTimer(Sender: TObject);
>>>> begin
>>>> Qpreco_acoes.Close;
>>>> Qpreco_acoes.SQL.clear;
>>>> Qpreco_acoes.SQL.add('select * from plan1');
>>>> Qpreco_acoes.Open;
>>>> //Faz o que tu precisa fazer aqui
>>>> Qpreco_acoes.Close;
>>>> end;
>>>> Isso que tu manou é tudo que tu tem dentro do timer? Entendi que tu criava a query dentro do timer, e pelo que vi isso não ocorre.
>>>> Att.,
>>>> 2009/11/3 <mauricio.p...@terra.com.br>
>>>>> Newton eu estou fazendo assim : Programaei dentro de um timer
>>>>> procedure TForm1.TcotacoesTimer(Sender: TObject);
>>>>> begin
>>>>> Qpreco_acoes.Close;
>>>>> Qpreco_acoes.SQL.clear;
>>>>> Qpreco_acoes.SQL.add('select * from plan1');
>>>>> Qpreco_acoes.Open;
>>>>> end;
>>>>> att
>>>>> Mauricio
>>>>>> A Query chega a terminar de executar ou acumula varias querys?
>>>>>> Newton Michel de Oliveira www.nmooliveira.com.br
>>>>>> Mobile 55 51 92358577
>>>>>> Consultor de TI
>>>>>> Embarcadero Delphi 2009 Programming
>>>>>> Public Profile
>>>>>> http://www.linkedin.com/in/newtongaucho
>>>>>> Group Admin
>>>>>> http://www.dug-rs.org
>>>>>> 2009/11/3 <mauricio.p...@terra.com.br>
>>>>>>>>>>>> Pessoal tenho um sistema em Delphi que precisa executar uma query (select) a cada 10 ou 15 segundos.
>>>>>>>>>>>> então configurei o select dentro de um timer....o sistema ta funcionando .....só que o sistema trava depois de alguns minutos...
>>>>>>>>>>>> acho que é porque a query está na memória.....depois de várias execuções de query1.open.....o sistema trava por falta de memória..
>>>>>>>>>>>> será que é isto ???? tem algum comando para limpar a memória.
>>>>>>>>>>>> att
>>>>>>>>>>>> Mauricio
>>>> --
>>>> Gilberto Dessbesell Jr.
> --
> Gilberto Dessbesell Jr.