Jump to content
Fórum Script Brasil
  • 0

Outro Problema


Arlon

Question

O problema agora acontece algumas vezes quando fecho o programa. Às vezes acontece, outras não, mas na maioria das vezes acontece.

Primeiro surge uma tela do Windows assim:

O Projeto.exe encontrou um problema e precisa ser fechado.

Depois:

Application Error

Exception EAccess Violation Projeto.exe at 000DC629.

Access violation at address 004DC629 in module 'Projeto.exe'. Read of address 00B0930E

Runtime error 216 at 0043EB09

E depois vem isso aqui:

Project Projeto.exe raised exception class EAccessViolation with message 'Access violation

at address 004DC629 in module 'Projeto.exe. read of address 00B144A6'. Process stopped. Use

Step or Run to continue.

O que fazer?? sad.gif

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Acho que o problema é o seguinte:

Esse código dá erro:

.

.

.

{$R *.res}

begin

FormSplash := TFormSplash.Create(Application);

FormSplash.Show;

FormSplash.Update;

Application.Initialize;

Application.CreateForm(TFrmPrincipal, FrmPrincipal);

Application.CreateForm(TFrmAcesso, FrmAcesso);

Application.CreateForm(TDM, DM);

//Application.CreateForm(TFormSplash, FormSplash);

Application.CreateForm(TFrmImprimirPecas, FrmImprimirPecas);

FrmAcesso.ShowModal;

//Application.Run;

end.

Botão OK do formulário de Acesso (login e senha):

dá erro tanto colocando:

FrmPrincipal.ShowModal;

quanto:

Application.Run;

já esse código não dá erro:

{$R *.res}

begin

FormSplash := TFormSplash.Create(Application);

FormSplash.Show;

FormSplash.Update;

Application.Initialize;

Application.CreateForm(TFrmPrincipal, FrmPrincipal);

Application.CreateForm(TFrmAcesso, FrmAcesso);

Application.CreateForm(TDM, DM);

//Application.CreateForm(TFormSplash, FormSplash);

Application.CreateForm(TFrmImprimirPecas, FrmImprimirPecas);

//FrmAcesso.ShowModal; <-- não achamo o form de login e senha

Application.Run;

end.

OnShow do form Principal:

FormSplash.Close;

mas aí o problema é que não aparece a tela de login.

Acho que na hora de abrir form, fechar form e chamar os forms de login e splash na Unit do projeto é que eu estou me enrolando. Mas caso não consiga solucionar vou tirar o SplashForm.

Link to comment
Share on other sites

  • 0

Mas como eu vou colocar esses eventos no click de um botão se o FrmAcesso é um formulário de autenticação com login e senha. Estranho é que essa tela já tava pronta há uns dez dias, e eu usando o programa todo dia, só ontem que começou a dar essas maluquices aí.

Me responde umas coisas: a chamada e a criação do FormSplash antes de todos os outros tá certa? O "Application.Run" tem necessariamente que ficar na Unit que leva o nome do projeto, ou poderia entrar no OnClick do botão OK do FrmAcesso? Existe algum problema em dar um ".ShowModal;" antes do "Application.Run" como eu estava fazendo?

Link to comment
Share on other sites

  • 0

Pqp, apontaram um dedo podre pro meu programa. Hehauheuehaeu... vô dar uma olhada nele mais tarde, qualquer coisa eu arranco, decepo, extirpo, esse raio de SplashForm. Desde aquele dia que você me passou como o fazer tava dando certo, mas ontem começou a dar errado.

Link to comment
Share on other sites

  • 0

Olá Arlon, bom pelo que ví, você instancia duas vezes a tela de Splash:

FormSplash := TFormSplash.Create(Application); // primeira vez

Application.CreateForm(TFormSplash, FormSplash); // segunda vez

Tente retirar o CreateForm e ShowModal do TFrmAcesso e no evento onShow do seu FrmPrincipal coloque:

FrmAcesso := TFrmAcesso.Create(Application);

FrmAcesso.ShowModal;

Veja também se no onClose do FrmAcesso você o libera.

Link to comment
Share on other sites

  • 0

Eu tirei a tela de skin, depois eu vejo esse problema. Mas agora o problema é o seguinte: toda vez que eu rodo o programa pelo Delphi e chamo o Formulário Principal dá erro, quando eu chamo qualquer outro formulário (ou seja, no botão "Entrar" do Form de Acesso eu substituo "FrmPrincipal.ShowModal" por "FrmCadastro.ShowModal") o problema não acontece, por esse motivo acho que o problema é no formulário Principal. Só que quando eu rodo o programa fora do Delphi não dá erro nenhum, o porquê disso eu não sei.

Eu criei outro formulário Principal e agora (pelo menos por enquanto) tá rodando legal), mas eu queria saber o motivo desse erro.

Quando rodo o projeto pelo Delphi e chamo o Form Principal o erro que aparece é a imagem que tá no link abaixo (a imagem é pekena, não demora nada pra carregar!!):

Erro

Link to comment
Share on other sites

  • 0

Olhem que coisa estranha e no mínimo curiosa:

eu não podia perder tempo com esse projeto, então fiz outra tela Principal e o erro parou. Depois disso eu comecei a fazer um outro trabalho aqui com a resolução do meu monitor em 1024x768 e depois mudei pra 800x600 e deu o mesmo erro que tá aí na imagem do post acima, aí depois quando mudei pra 1024x768 de novo o problema foi sanado. Agora a pergunta: o que que tem a ver a resolução antiga com a nova, faz algum sentido isso??

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...