Fórum Arrays dinâmicos #299875
18/10/2005
0
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
Curtir tópico
+ 0
Responder
Posts
19/10/2005
Crash
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+
Responder
Gostei + 0
19/10/2005
Massuda
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.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)