Fórum Aplicação consumidora de memória #282155

18/05/2005

0

Estou com o seguinte problema:

Criei uma aplicação com um componente TComPort que fica lendo a porta serial. A cada instante recebo alguns dados e gravo os dados em uma tabela no SQL Server (conexão ADO).

Estou criando e destruindo a coneção e a Store Procedure (no Delphi) a cada recepção de sinal.

A aplicação começa ocupando 500K de memória e vai aumentando conforme eu vou recebendo os dados...

o único componente que eu não posso destruir é a conexão com a serial, o resto eu crio e destruo a cada recepção. Se quiserem o código posso postar aqui...

Grato.


Abpaula

Abpaula

Responder

Posts

18/05/2005

Massuda

...Estou criando e destruindo a coneção e a Store Procedure (no Delphi) a cada recepção de sinal...
Não é uma boa idéia ficar criando/destruindo a conexão com o BD... geralmente se procura manter a conexão ativa pelo maior tempo possível.

A aplicação começa ocupando 500K de memória e vai aumentando conforme eu vou recebendo os dados...
Se o aumento de consumo de memória for proporcional à quantidade de dados que você está recebendo, provavelmente é um problema na sua rotina de recepção dos dados na serial.


Responder

Gostei + 0

18/05/2005

Aroldo Zanela

Colega,

Se pouder postar o fragmento do código utilizado será mais fácil tentarmos identificar o problema, pois a princípio não tenho conhecimento de nenhuma anomalia com Delphi/ADO.


Responder

Gostei + 0

19/05/2005

Ericlemes

ACho que é muito mais provável o algoritmo de leitura da serial estar quebrado do que o Delphi + ADO.

Provalvelmente alguma Stream usada na leitura não liberada, ou memory leaks mesmo no código.


[]´s

Eric Lemes


Responder

Gostei + 0

19/05/2005

Abpaula

Obrigado a todos que responderam....

Tinha uma função aqui que usava um freeonrelease ao invés de usar o free.

A conexão eu estava criando e destruindo pq achei q tinha a ver com o problema. Agora posso manter a conexão direto.

Obrigado a todos que postaram!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar