Aplicação consumidora de memória
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.
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
Curtidas 0
Respostas
Massuda
18/05/2005
...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.GOSTEI 0
Aroldo Zanela
18/05/2005
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.
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.
GOSTEI 0
Ericlemes
18/05/2005
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
Provalvelmente alguma Stream usada na leitura não liberada, ou memory leaks mesmo no código.
[]´s
Eric Lemes
GOSTEI 0
Abpaula
18/05/2005
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!!!
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!!!
GOSTEI 0