Como humilde iniciante gostaria de “ouvir” a sugestão dos mais experientes:

Fiz um programa para gerar a movimentação de estoque ref. ao ano todo,

usando Delphi 7 com SQLServer – conexão com ADO

-Neste programa eu abro Query’s, CDS’s e Dataset’s cf manda o figurino

(Query com Open, Dataset.Active.True, etc...)

-faço os select’s e insert’s normalmente

-no final de cada processo fecho o que abri

(Query com Close, CDS com FreeAndNil, etc...)

 

PORÉM REPAREI O SEGUINTE após rodar o programa com o Gerenciador

De tarefas do XP aberto e monitorando a memória:

 

-Quando executo uma Query ele soma, por exemplo, 50 kb na memória consumida.

-Quando fecho a Query (Close) ele retira 30 kb, e não 50 kb da memória

-No DataSet é pior ainda.  Se somou 90 kb, na hora de tirar da memória
(FreeAndNil) ele retira só 40 kb.

 

Portanto como o programa não retira tudo o que adiciona obviamente o consumo
de memória vai 

eternamente crescer, até o ponto da maravilhosa frase “Memória
Insulficiente”

 

Portanto”

-ONDE ESTOU ERRANDO ?

-ALGUÉM PODERIA ME RELEMBRAR O COMANDO QUE ABRE E FECHA QUERY, CDS E DATASET
?

-EXISTEM OUTROS COMANDOS PARA TIRAR DE VEZ O QUE FOI PRA MEMÓRIA ?

-SERÁ QUE PRECISO IR NO OCULISTA PRIMEIRO ?

 

 

Espero que vocês tenham entendido o problema

 

 

Desde já muitíssimo obrigado pela atenção

 

 

Junior

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a