Sobre liberação de memoria
-Como posso liberar as variaveis strings, integer, arrays,etc... da
memoria, considerando que as mesmas estão em uma Unit de
Biblioteca (Procedures e Funçoes).
-Todo as variaveis de um form são liberados da memoria ao ser
fechado??????
-Existe metodo de se saber a memoria livre em cada etapa de um
programa, ou execução de um form.
-O que faz em um sistema com que diminua drasticamente ou pouco a
pouco a memoria.
Como podem ver minhas dúvidas são grandes, quanto a memoria, se
tiverem soluçoes e exemplos, agradeço, pois serão de bom agrado.
Desde já, OBRIGADO A TODOS.
memoria, considerando que as mesmas estão em uma Unit de
Biblioteca (Procedures e Funçoes).
-Todo as variaveis de um form são liberados da memoria ao ser
fechado??????
-Existe metodo de se saber a memoria livre em cada etapa de um
programa, ou execução de um form.
-O que faz em um sistema com que diminua drasticamente ou pouco a
pouco a memoria.
Como podem ver minhas dúvidas são grandes, quanto a memoria, se
tiverem soluçoes e exemplos, agradeço, pois serão de bom agrado.
Desde já, OBRIGADO A TODOS.
Canastra
Curtidas 0
Respostas
Lucas Silva
20/07/2004
QUando você da um [b:d533398ea8]Free [/b:d533398ea8]na Unit, elas são liberadas!
GOSTEI 0
Nildo
20/07/2004
Será que vale a pena sair liberando tudo da memória? Lembrando que tudo será liberado automaticamente quando seu programa for finalizado.
GOSTEI 0
Persist
20/07/2004
Lucas Alves Silva
Como assim, dar um [b:2839a900c5]Free[/b:2839a900c5] na Unit ?
QUando você da um Free na Unit, elas são liberadas!
Como assim, dar um [b:2839a900c5]Free[/b:2839a900c5] na Unit ?
GOSTEI 0
Paulo_amorim
20/07/2004
[quote:37cea50a81=´Lucas Alves Silva´]
QUando você da um Free na Unit, elas são liberadas!
Como assim, dar um [b:37cea50a81]Free[/b:37cea50a81] na Unit ?[/quote:37cea50a81]
Olá
Form1.Free;
Unit do form, eu presumo
Até+
GOSTEI 0
Ocriador
20/07/2004
procedure CriaForm(NomeForm: TFormClass; Dono: TComponent);
begin
with NomeForm.Create(Dono) do
try
ShowModal;
finally
Destroy;
end
end;
Pronto. Nada inicializa com o delphi, o sistema fica leve e tudo é liberado em caso de dúvida.
............................
nunca tenha vergonha de perguntar. só assim evoluimos.
begin
with NomeForm.Create(Dono) do
try
ShowModal;
finally
Destroy;
end
end;
Pronto. Nada inicializa com o delphi, o sistema fica leve e tudo é liberado em caso de dúvida.
............................
nunca tenha vergonha de perguntar. só assim evoluimos.
GOSTEI 0
Inutaishou
20/07/2004
Amigo, quando for usar o form:
É importante também que todas as variáveis que você criar nesse form fiquem dentro do private...
Para saber quanto de memória seu sistema está utilizando, a única forma que conheço é a de usar o gerenciador de tarefas do WinXP...
Não precisa se preocupar muito com o quanto de memória seu aplicativo usa, pois ele usa aquilo que pode... No WinXP por exemplo, se você tem 256Mb de memória, um programa com tres forms na memória podem chegar a usar 10Mb de memória, mas aí, se você minimizar e restaurar o aplicativo, o consumo vai para 2Mb... E se você não tiver muita memória, ele não sai desses 2Mb...
[]´s,
Try Form := TForm.Create( Self ); Form.ShowModal; Finally FreeAndNil( Form ); End;
É importante também que todas as variáveis que você criar nesse form fiquem dentro do private...
Para saber quanto de memória seu sistema está utilizando, a única forma que conheço é a de usar o gerenciador de tarefas do WinXP...
Não precisa se preocupar muito com o quanto de memória seu aplicativo usa, pois ele usa aquilo que pode... No WinXP por exemplo, se você tem 256Mb de memória, um programa com tres forms na memória podem chegar a usar 10Mb de memória, mas aí, se você minimizar e restaurar o aplicativo, o consumo vai para 2Mb... E se você não tiver muita memória, ele não sai desses 2Mb...
[]´s,
GOSTEI 0
Djjunior
20/07/2004
uma coisa boa a se fazer também é deixar somente o form principal no auto-create, dessa forma um form só vai ser alocando na memória na quando eles forem abertos.
Dê uma olhada na função FreeAndNil() e na CaFree, também, as vezes um form quando um form é fechado, fica um ´lixo´ na memória.
Dê uma olhada na função FreeAndNil() e na CaFree, também, as vezes um form quando um form é fechado, fica um ´lixo´ na memória.
GOSTEI 0