A questão das muitas variáveis gerar estouro de memória está ligado a duas 
causas básicas:

O tipo de variavel

A durabilidade da variável no sistema.

Variáveis simples do tipo string ocupam menos espaço do que as float ou então 
as TObject etc...

Sei que voce não vai gostar do que eu vou te sugerir, mas o que tem que ser 
feito neste caso, é uma revisão total no código do projeto.

Verifique:

Todas as variáveis que voce criou, do tipo Objeto, são destruidas logo após o 
uso? Records? StringLists, TLists, TCollections? Tudo isto é destruído logo 
após o uso?

Forms: Voce os cria na inicialização do programa e deixa por conta do referido 
programa destruí-los ou os cria, somente quando for usá-los, e os destroi lógo 
após o uso?

Querys, TTables e ClientDatasets: Voce os abre, usa e fecha logo em seguida ou 
os deixa livres, leves e soltos no Form/Datamodule em modo Active True?

Voce faz uso de variáveis globais? Se sim, qual é o critério para usá-las? Elas 
recebem valores que são utilizados em todo o projeto? Variáveis globais somente 
fazem sentido quando seus valores podem ser usados por várias rotinas no 
projeto ou então para definir configurações do programa. Ex: Controle de acesso 
no sistema por usuário.


Dá uma olhada nisso daí.



[]s
 
 
Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr


  ----- Original Message ----- 
  From: Jose Newton Araujo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, October 20, 2009 12:04 PM
  Subject: [delphi-br] Muitas Variaveis


    Senhores:

  Estou escrevendo um sistema para valorização de custos indiretos na
  construção civil. Dito isto, afirmo que é um assunto que abrange uma
  infinidade de variáveis que precisam interagir, portanto está
  sobrecarregando o sistema e a toda hora o Delphi pede arrego com a mensagem
  ...INSUFICIENTE MEMORIA PARA ESTA OPERAÇÃO... - Precisando da ajuda dos mais
  sábios, (ou menos também) como faço para resolver esta questão ? Aceito
  sugestões e/ou ensinamentos.

  Muito Obrigado

  Jose Newton

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



  

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

Responder a