GARANTIR DESCONTO

Fórum Liberar memória usada no form?por favor #177513

26/08/2003

0

Olá Pessoal! Vou expor aqui um problema que eu estou tendo já faz um bom tempo.
Eu uso Delphi 5 e piradox e win98
Quando eu compilo o programa as vezes quase sempre sai uma tela de msgn toda em branco só com um botão de ok dentro dela e se eu clicar no botão o computador trava por completo, isso só acontece no win98 no 2000 e no XP isso não ocorre.

Me parece que o windows não está conseguindo gerenciar ou usar um espaço na memória, um amigo meu me disse que tem um comando assim:
[color=green:3b804c5ad0]form1.free [/color:3b804c5ad0] eu creio que ele limpa aquele espaço na memória que o form usou para abrilo certo?
Eu gostaria de saber se mais alguem já passou ou está passando por esse tipo de problema, e como faria para solucionalo.
Ou qual comando usaria para liberar mais memória para o programa.

Se os amigos do forum puderem nos dar uma luz, ficamos muito agradecido.

Um grande abraço a todos.
Felipe Sanches Pergher


Felipesans

Felipesans

Responder

Posts

26/08/2003

Rodrigo Bergmann

Felipe, sua máquina não tem pouca memória?

De qualquer forma, faça o seguinte. Vá em Project > Options > Forms e em Auto-create forms retire todos e deixe apenas o formulário principal.
Quando for chamar um form de um menu, utilize o código a seguir:
with TForm2.Create(Self) do
try
  Showmodal;
finally
  free;
end;


Isto vai criar os forms apenas no momento que você for utilizá-los, liberando memória para sua aplicação.


Responder

Gostei + 0

26/08/2003

Felipesans

Valeu Rodrigo pela dica.
Eu já estava abrindo os forms conforme necessario, coloquei o seu código para abrir o form e aconteceu a mesma coisa, isso tá me deixando cabrero, não seria algum problema de hardware, quero dizer alguma insuficiencia, talves memória cache olhe só a maquina minha:

PIII 1.100
256MB ram
MB asus cusi( só não lembro quanto ela tem de cache a MB já teste num amd 1.200Mhz e também deu o mesmo problema).
Placa Video 64MB

É mole eu acho que falta de maquina não é, a unica coisa que eu não gosto é a minha placa cusi da asus ela é uma placa meio bagaceirinha da Asus mas o resto é bom.

Se vc tiver mais alguma idéia eu agradeço.
Um abração meu amigo!
Felipe Sanches Pergher


Responder

Gostei + 0

26/08/2003

Rodrigo Bergmann

Felipe, o comportamento que você descreveu é típico de falta de recursos do sistema. Veja se você não tem muitos aplicativos abertos ou algum processo em seu sistema que entre em loop infinito. Abra o medidor de recursos do Windows para verificar o que acontece com a memória quando seu aplicativo é aberto.


Responder

Gostei + 0

26/08/2003

Mozill@

tente o seguinte:

Form_Nome := TForm_Nome.create ( application );
try
Form_Nome.ShowModal
finally
Form_Nome.Release;
Form_Nome := nil;
end;

qq coisa me comunique, blz!!!!!
Um abraço do MoZ!!!!!


Responder

Gostei + 0

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

Aceitar