GARANTIR DESCONTO

Fórum Runtime error #262255

16/12/2004

0

Olá!
Eu criei uma aplicação MDI em Delphi 7 e há poucos dias me deparei com um erro que acontece depois que a aplicação é terminada:
´Runtime error 216 at 00445D34´
Esse erro é disparado ´quase´ todas as vezes que eu encerro a aplicação com algum MDIChild aberto.
Alguém pode me dizer que erro é esse?


@fabio

@fabio

Responder

Posts

16/12/2004

Massuda

Essa é uma mensagem de erro genérica. Para facilitar, tente determinar onde o erro está ocorrendo. Para isso:[list:79715199da][*:79715199da]marque as opções de debug em Project/Options/Compiler/Debugging[*:79715199da]dê um build (menu Project/Build) no seu programa[*:79715199da]inicie a execução do seu programa[*:79715199da]volte no Delphi[*:79715199da]no menu Search/Find Error, informe 00445D34[/list:u:79715199da]Com um pouco de sorte, o Delphi irá mostrar a linha problemática.


Responder

Gostei + 0

16/12/2004

Paulo_amorim

Olá

Isso ocorre depois de fechada a aplicação? Ou eh em algum evento de fechamento (OnClose, OnCloseQuery) ?

Se o caso eh esse, pode-se fechar todas as MDIChildren que não dá pau ué

Faz-se um for até MDIChildCount, fechando a MDIChildren do indice ...

Espero que ajude
Até+


Responder

Gostei + 0

16/12/2004

@fabio

Valeu pela dica, mas eu já fecho todos os MDIChildren com este loop.
Mas eu acho que resolvi.
A dica do Massuda de usar o Find Error me apontou a linha maldita que eu não via no debug.
O erro não tá mais acontecendo, por enquanto.
Obrigado.


Responder

Gostei + 0

03/04/2006

Alex Maia

Utilizei a dica do massuda para encontrar a linha que esta causando o erro de número 00404326 e o delphi esta apontando pra linha destroi do código abaixo:

procedure TObject.Free;
begin
if Self <> nil then
Destroy;
end;

Este código está na unit system.pas e ocorre logo no início da execução da minha aplicação. O arquivo principal do meu aplicativo não está no formato .exe, mas sim no .pts, sendo que eu o transformo para .tmp e depois executo a aplicação.

Alguem sabe me dizer algo sobre este erro?


Responder

Gostei + 0

03/04/2006

Massuda

Provavelmente você deu um Free em um objeto que já foi destruído anteriormente. O erro está sendo gerado dentro da unit System, mas ele foi causado, provavelmente, em algum ponto do código que você escreveu.

É estranho que você dizer que isso ocorre ao iniciar a execução do seu programa.

Tente executar seu programa na IDE e, quando ocorrer o erro, tecle Ctrl-Alt-S para ser exibida a pilha de execução do programa ([i:a46fbc0500]call stack[/i:a46fbc0500]). Clique nos itens dessa lista para que seja exibido o código fonte correspondente e veja se dá para determinar o ponto exato que está causando o erro.


Responder

Gostei + 0

04/04/2006

Alex Maia

Massuda, o estranho é que isso não ocorre em muitas máquinas. Acontece EM ALGUMAS que possuem o XP. As vezes dá o erro na primeira tentativa de execução, mas depois fica tudo normal. E agora??


Responder

Gostei + 0

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

Aceitar