liberar memoria

24/02/2003

0

boa tarde a todos.

como posso fazer que execute um programa e quando sair ele liberar memoria, como posso fazer isso?


OBRIGADO PELA ATENCAO
e-mail
tarcisiofrancisco@bol.com.br


Anonymous

Anonymous

Responder

Posts

24/02/2003

Anonymous

Olá, Tarcísio!

Para liberar memória de uma aplicação você deve fazer o seguinte:

Em todo form existe um evento OnClose, ok?
No form principal da sua aplicação, no evento OnClose dele você põe a seguinte linha:
Application.Terminate;
Isso já desaloca toda a memória que foi alocada para sua aplicação.

No caso dos outros forms (os que são chamados durante sua aplicação), no evento OnClose deles, você põe as seguintes linhas:
Form1.Release;
Form1 := NIL;

Lembrando que se o nome do seu form for FormCadastro, por exemplo, fica:
FormCadastro.Release;
FormCadastro := NIL;

Explicando:

A primeira linha , o ´release´, ele libera a memória que foi alocada para o form em questão.
A segunda linha atribui NIL (Nulo) ao ponteiro (Form1).
Então, a melhor maneira de se abrir um Form é:
IF (Form1 = NIL) THEN
Form1 := TForm1.Create(Application);

Form1.Show;

Ou seja, ele testa se o ponteiro Form1 está apontando para NULO. Se o Form for igual a NIL, ele chama o construtor do Form. Independente do resultado do IF, ele sempre tem que mostrar o Form, por isso, a linha Form1.Show está fora do bloco IF.


Responder

24/02/2003

Gabiruba

Form.free;

acho que isso ajuda.


Responder

24/02/2003

Stanne

Assim que você testar poste sua resposta aqui, Tarcísio.
Eu que postei a primeira resposta p/ você, mas tinha esquecido de logar :)


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar