Fórum Form não sai da memoria após fechar #573380
28/12/2016
0
DELPHI 10 Berlin Firemonkey
Crio um form da seguinte maneira:
frmBase := TfrmBase.Create(Application);
frmBase.ShowModal;
Ao fechar já tentei:
frmBase.Free;
ou
frmBase.Release;
Mas ao olhar no gerenciador de tarefas ainda consta o form na memoria
Exemplo: Antes de executar o form a aplicação tem 28mb
Ao criar o form a aplicação fica com 35mb
Depois de sair do form continua os 35mb
Se entrar de novo no form a aplicacao fica com 42mb
Ao sair do form permanece os 42mb
Porque o "delphi" não libera a memoria?
Alguma dica?
Crio um form da seguinte maneira:
frmBase := TfrmBase.Create(Application);
frmBase.ShowModal;
Ao fechar já tentei:
frmBase.Free;
ou
frmBase.Release;
Mas ao olhar no gerenciador de tarefas ainda consta o form na memoria
Exemplo: Antes de executar o form a aplicação tem 28mb
Ao criar o form a aplicação fica com 35mb
Depois de sair do form continua os 35mb
Se entrar de novo no form a aplicacao fica com 42mb
Ao sair do form permanece os 42mb
Porque o "delphi" não libera a memoria?
Alguma dica?
Alberto
Curtir tópico
+ 0
Responder
Posts
29/12/2016
Gutierry Pereira
Bom dia,
estanho isso, você tem certeza que é o forma que esta ficando na memoria. Oque é feito dentro desse forma ?
Não é criado nenhum objeto dentro dele, será que não esqueceu de destruir algum objeto que é instanciado nesse form ?
Tente utilizar o freeAndNil(<SeuObjeto>) na hora de destruir objetos.
Qualquer coisa estou a disposição.
Att : Gutierry Antonio
estanho isso, você tem certeza que é o forma que esta ficando na memoria. Oque é feito dentro desse forma ?
Não é criado nenhum objeto dentro dele, será que não esqueceu de destruir algum objeto que é instanciado nesse form ?
Tente utilizar o freeAndNil(<SeuObjeto>) na hora de destruir objetos.
Qualquer coisa estou a disposição.
Att : Gutierry Antonio
Responder
Gostei + 0
29/12/2016
Alberto
Ola, depois de quebrar a cabeça consegui achar o problema:
Eu tenho um form e nele eu estava criando um array sem especificar o tamanho
Exemplo:
// Var
// Cliente: Array of Integer;
//
e na aplicacão eu atribuia um tamanho para ele
//
//
// SetLength( Cliente, 9 );
// For x := 0 to 9
// (alguma coisa aqui)
// End;
//
Acontece que não dava erro de execução e o delphi simplesmente atribuía
um valor sabe-se lá onde para o item 10
Ai ao sair do form as vezes dava erro de "access violation" e as vezes não
Mas o form não saia da memoria por causa disso.
Ao resolver essa questão funcionou tudo beleza e o form está saindo da memoria ao fechar.
//
Mas a merda é o delphi não dar o erro de "out of index" no loop do array
Até eu achar sozinho deu trabalho.
Eu tenho um form e nele eu estava criando um array sem especificar o tamanho
Exemplo:
// Var
// Cliente: Array of Integer;
//
e na aplicacão eu atribuia um tamanho para ele
//
//
// SetLength( Cliente, 9 );
// For x := 0 to 9
// (alguma coisa aqui)
// End;
//
Acontece que não dava erro de execução e o delphi simplesmente atribuía
um valor sabe-se lá onde para o item 10
Ai ao sair do form as vezes dava erro de "access violation" e as vezes não
Mas o form não saia da memoria por causa disso.
Ao resolver essa questão funcionou tudo beleza e o form está saindo da memoria ao fechar.
//
Mas a merda é o delphi não dar o erro de "out of index" no loop do array
Até eu achar sozinho deu trabalho.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)