Fórum Erro ao encerrar o sistema - Urgente #213027

10/02/2004

0

Galera,

Delphi 7 + Mysql 4 + ZeosLib

Tenho um sistema com uns quarenta formulários, mas é carregado na inicialização somente o formulario de Splash, login , principal e dois data module. Desabilitei todos os comandos dos eventos close, destroy, queryclose deste formulários. Mas mesmo assim ainda está dando erro na hora de encerrar o Sistema.

Exception EAccessViolation in module CONTROLE.EXE at 000D34A7. Access violation at address 004D34A7 in module ´CONTROLE.EXE´. Read of address 016A48B4.

Alguem tem alguma ideia do que seja isto?

Obrigado...


Hell_gentleman

Hell_gentleman

Responder

Posts

10/02/2004

Lucas Silva

o que você tem no FormCreate do form principal?


Responder

Gostei + 0

10/02/2004

Marconi

Este tipo de erro acontece quando voce tem algum objeto no formulário que está tentando se atualizar com dados que já estão descartados da memória.

Isto acontece com afterScroll, OnResize.. etc...

O segredo é criar uma variavel global boleana, por exemplo ´FECHANDO´
em marca-la como ´true´ logo após mandar encerrar o programa. Na primeira linha das procedures do form principal coloque
if fechando then exit;
Assim ela não executa nenhuma procedure
deve funcionar.

Marconi


Responder

Gostei + 0

11/02/2004

Hell_gentleman

Galera...

Deixe-me tentar explicar a situação caótica.

Desabilitei todos os comandos do create, show, close, closequery, resize dos formularios que abrem na inicialização.

Sequencia de abertura dos forms.

1º - Data module
2º - Form Principal

E mesmo assim está dando erro na hr d encerrar. Que coisa estranha.

Alguem tem alguma ideia do q é isso???


Responder

Gostei + 0

12/02/2004

Marconi

Veja se voce não nenhuma procedure em alguns dos arquivos do DataMoldule (AfterScroll, ou coisa assim) que se referenciando ao Form.

Feche primeiro o DataModule, com Free e depois o form.

Pelo que voce conta, alguma procedure está tentando rodar no evento Onclose.

Debug com <F7>. A linha de erro deve aparecer.

Marconi


Responder

Gostei + 0

12/02/2004

Toledadr

Use o comando abaixo.

application.terminate


Responder

Gostei + 0

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

Aceitar