Ir para conteúdo
Fórum Script Brasil
  • 0

Outro Problema


Arlon

Pergunta

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 para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...