Arrays dinâmicos
PessoALL,
estou fazendo um prograra que precisa crias vários arrays dinâmicos na memória. A bronca é que fazendo isso, eu simplesmente travo a máquina por não ter mais memória.
Existe alguma forma de excluir os ponteiros da memória? Excluir realmente, pq já tentei Finalize(), SetLength(array, 0), array := nil
mas nunca a Heap é desalocada completamente. Os espaços usados nunca ficam livres :(
estou fazendo um prograra que precisa crias vários arrays dinâmicos na memória. A bronca é que fazendo isso, eu simplesmente travo a máquina por não ter mais memória.
Existe alguma forma de excluir os ponteiros da memória? Excluir realmente, pq já tentei Finalize(), SetLength(array, 0), array := nil
mas nunca a Heap é desalocada completamente. Os espaços usados nunca ficam livres :(
Diego Uchoa
Curtidas 0
Respostas
Crash
18/10/2005
kra... se o volume de dados eh tao grande ao ponto de travar o comptuador por falta de memoria... te aconselho a fazer isso em um banco de dados com tabelas temporarias, assim, vc grava as informações no hd e logo em seguida apaga elas.... mais agora... o que vc ta fazendo? qual tipo de aplicação? porque acabar com a memoria nao eh facil... sem contar a memoria fisica, o windows ainda utiliza arquivo de paginação (normalmente 2 gb).
t+
t+
GOSTEI 0
Massuda
18/10/2005
Assumindo que seu programa não tem leaks de memória... Você está usando Win 9x/ME ou NT/2K/XP? O Win 9x/ME tem uma capacidade limitada de gerenciar fragmentação da memória. Muitas vezes, existe espaço livre suficiente, mas esse espaço está fragmentado e o Win 9x/ME não consegue alocar memória, dando um ´falso´ erro de memória insuficiente. Esse problema não existe com Win NT/2K/XP.
GOSTEI 0