Fórum Out of Memory #345030
24/08/2007
0
Tenho um sistema porém o mesmo já esta com um tamanho consideravel...Com isso algumas vezes quando vou compilar o projeto da a mensagem ´[b:121271d0ca]Out of Memory[/b:121271d0ca]´...
Gostaria de saber por onde posso começar a verificar para resolver este problema? Ou se tem algum material interessante que possa me ajudar...
Algumas dicas seriam interessantes, bem como se existir alguma propriedade do Delphi ou opção para ajudar a evitar/tratar tal mensagem...
Se alguém puder ajudar ficaria grato...
vlw
Fernando Piccini
Curtir tópico
+ 0Posts
24/08/2007
Marcosrocha
Gostei + 0
28/08/2007
Rodc
Meu sistema também esta grande e usa um componente de Skin que usa muita memória para se atualizar. Por isto, sempre que meu sistema está trocando de tela e processando alguma rotina que também pegue muita memória, o erro aparece.
Tente deixar a menor quantidade possível de classes em memória. Ou seja, crie os formulários apenas se for usar e destrua após a utilização.
Caso tenha mais alguma informação sobre o assunto avise aqui no forum que isto também me interessa.
Abraços,
Gostei + 0
28/08/2007
Marcosrocha
Exemplo de criação / destruição correta de formulários e liberar memória
procedure TFrmMain.Cadastro1Click(Sender: TObject); begin Application.CreateForm(TFrmCadastro, FrmCadastro); FrmCadastro.ShowModal; // no meu caso uso sempre modal FreeAndNil(FrmCadastro); // efetua o Free no Form e também limpa o setor de memoria que foi alocado por ele end;
Gostei + 0
28/08/2007
Nerdex
Olá Fernanda, já adiantando ... sim! ... tem como configurar pelo Delphi o ´´aumento de memória´, para isto basta ir em Project > Optinos e na aba Linker veja nos campos: Min Stak Size e Max Stack Size. Aumente(em haxadecimal) o valor no campo Max Stack Size.
Outro ítem importante sobre o assunto é, se vc utiliza Delphi 7 ou inferiores, te peço que intere-se sobre o gerenciador de memória FastMM (aqui no fórum tem uns posts meus sobre isso). E claro! ... verifique a quantidade de memória física na tua máquina e confira o consumo desta aplicação com o auxílio do Gerenciador de Tarefas do Win.
[]´s
Gostei + 0
28/08/2007
Marcosrocha
Por padrão, o Delphi traz:
[b:3611e654a4]Min stack size:[/b:3611e654a4] [color=red:3611e654a4][b:3611e654a4]$00004000[/b:3611e654a4][/color:3611e654a4]
[b:3611e654a4]Max stack size:[/b:3611e654a4] [color=red:3611e654a4][b:3611e654a4]$00100000[/b:3611e654a4][/color:3611e654a4]
[b:3611e654a4]Image base:[/b:3611e654a4] [color=red:3611e654a4][b:3611e654a4]$00400000[/b:3611e654a4][/color:3611e654a4]
Gostei + 0
29/08/2007
Rodc
Gostei + 0
29/08/2007
Marcosrocha
Quanto de memória disponível (FÍSICA) você tem e quanto de memória virtual?
Eu tenho 512 Mb Física num total de 1122 Mb (Física + Virtual) e sempre ocupo em média 250 Mb quando estou programando / debugando.
Gostei + 0
29/08/2007
Rodc
Tenho 512 física + 760 de paginação. Mas a paginação está configurada para ir até 2GB.
Debugando o aplicativo eu estou usando 418MB de paginação e tem 240Mb de memória física disponível.
No momento do erro estava usando 419MB de paginação e tinha 236MB livres de memória física.
O aplicativo que eu estava debugando estava usando 21MB de memória física e 78MB de paginação
Gostei + 0
30/08/2007
Fernando Piccini
Agradeço pela colaboração ai...
Vou testar a opção de MaxStackSize para ver se vai resolver...
se alguém tiver novas sugestões seria de grande importancia uma vez que muita gente deve ja ter o mesmo problema em suas aplicações e projetos...
vlw
Gostei + 0
27/03/2008
Fernando Piccini
também já tinha alterado Min stack size Max stack no Delphi: Linker / Memory Sizes, porém não mudou nada...
Padrão do Delphi 6
Min stack size: $00004000 Max stack size: $00100000 Image base: $00400000
Torna-se necessário disponibilizar arquivos de configuração...
Segue e-mail abaixo para disponibiliza-los:
piccini.fernando@gmail.com
Gostei + 0
27/03/2008
Rodc
O que seria estes arquivos de configuração? O que eles configuram?
Gostei + 0
30/06/2008
Fernando Piccini
São arquivos necessários para não ocorrer mais o problema do out of memory. Para Delphi 6 nunca mais aconteceu o erro (O que foi testado).
Obs: Não verifiquei se em versões posteriores do Delphi ainda acontece o ´Out of Memory´
:)
Gostei + 0
10/09/2009
Fernando Piccini
Para resolver o problema de Out of Memory no Delphi precisa trocar o arquivo ´RLINK32.dll´ que se encontra na pasta C:\Arquivos de programas\Borland\Delphi7\Bin por uma versão mais atualizada desta mesma DLL.
Obs: Esta solução foi testada e funciona para Delphi 6.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)