Problemas ao rodar aplicações em windows 98

21/11/2005

0

Olá pessoal...
Estou tendo alguns problemas quando executo aplicações no windows 98. Principalmente quando tenho muitos forms na aplicação. Mesmo quando descarrego os forms da memoria parece que o windows não libera totalmente a memoria alocada. A partir de um certo numero de forms usados, quando libero alguns e tento carregar outros ocorrem varios ´Acces Violarion´. Gostaria de saber se há alguma maneira de resolver esse problema ou pelo menos minimizar.
Agradeço desde já...
Principalmente ao Massuda que tem me tirado várias duvidas e resolvido grande parte dos meus problemas.


Tiago Malveira

Tiago Malveira

Responder

Posts

21/11/2005

Edilcimar

como é que vc está criando e liberando os forms? talvez não esteja liberando da forma correta e os mesmos não estejam sendo realmente liberados


Responder

22/11/2005

Tiago Malveira

como é que vc está criando e liberando os forms? talvez não esteja liberando da forma correta e os mesmos não estejam sendo realmente liberados


crio da seguinte maneira....
with TfrmMeuForm.Create(Application) do
begin
....
end;

no evento OnClose do Form Action := caFree;

isso não deveria liberar o formulario da memoria?


Responder

22/11/2005

Ramms

[quote:4ac7e2b234=´Tiago Malveira´]
como é que vc está criando e liberando os forms? talvez não esteja liberando da forma correta e os mesmos não estejam sendo realmente liberados


crio da seguinte maneira....
with TfrmMeuForm.Create(Application) do
begin
....
end;

no evento OnClose do Form Action := caFree;

isso não deveria liberar o formulario da memoria?[/quote:4ac7e2b234]

Tente assim amigo

Application.CreateForm(Tfrmcriado,frmcriado);


e para liberar
no onclose
Action := caFree;
        Frmcriado := Nil;




Responder

22/11/2005

Massuda

Geralmente Access Violation está relacionado com tentativas de utilizar objetos que ou ainda não foram criados no programa ou já foram destruídos (automaticamente ou não) em algum ponto do programa.

No seu caso, verifique se você está tentando utilizar algum form que já foi destruído; experimente fazer o que o Ramms sugeriu.

Se o problema persistir, tente determinar onde o erro está ocorrendo. Para isso:[list:a98fd23983][*:a98fd23983]marque as opções de debug em [b:a98fd23983]Project|Options|Compiler|Debugging[/b:a98fd23983][*:a98fd23983]dê um build (menu [b:a98fd23983]Project|Build[/b:a98fd23983]) no seu programa[*:a98fd23983]inicie a execução do seu programa[*:a98fd23983]volte no Delphi[*:a98fd23983]no menu [b:a98fd23983]Search|Find Error[/b:a98fd23983], informe o endereço do erro (conforme a mensagem de erro que aparece para você)[/list:u:a98fd23983]


Responder

24/11/2005

Romulocpd

Eu para abrir formulários faço assim:

 
  Frm: TMeuForm.Create(Self);

  try
    Frm.ShowModal;
  finally
    Frm.Release;
    FreeAndNil(Frm);
  end;




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