Arlon Posted October 25, 2004 Report Share Posted October 25, 2004 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 ErrorException EAccess Violation Projeto.exe at 000DC629.Access violation at address 004DC629 in module 'Projeto.exe'. Read of address 00B0930ERuntime error 216 at 0043EB09E depois vem isso aqui:Project Projeto.exe raised exception class EAccessViolation with message 'Access violationat address 004DC629 in module 'Projeto.exe. read of address 00B144A6'. Process stopped. UseStep or Run to continue.O que fazer?? Quote Link to comment Share on other sites More sharing options...
0 s3c Posted October 25, 2004 Report Share Posted October 25, 2004 Olá Arlon, veja se você tem algum código no onClose e/ou onDestroy do Form. Quote Link to comment Share on other sites More sharing options...
0 Arlon Posted October 25, 2004 Author Report Share Posted October 25, 2004 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. Quote Link to comment Share on other sites More sharing options...
0 s3c Posted October 25, 2004 Report Share Posted October 25, 2004 Olá Arlon, tente tirar o CreateForm do FrmAcesso, bem como seu ShowModal e colocá-los no onClick do botão. Quote Link to comment Share on other sites More sharing options...
0 Arlon Posted October 26, 2004 Author Report Share Posted October 26, 2004 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? Quote Link to comment Share on other sites More sharing options...
0 Progr'amador Posted October 26, 2004 Report Share Posted October 26, 2004 É muito estranho mesmo Arlon. por exemplo aki usamos esse mesmo modelo de login a 6 anos, e numca deu problema.Abs. Quote Link to comment Share on other sites More sharing options...
0 Arlon Posted October 26, 2004 Author Report Share Posted October 26, 2004 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. Quote Link to comment Share on other sites More sharing options...
0 s3c Posted October 26, 2004 Report Share Posted October 26, 2004 Olá Arlon, bom pelo que ví, você instancia duas vezes a tela de Splash:FormSplash := TFormSplash.Create(Application); // primeira vezApplication.CreateForm(TFormSplash, FormSplash); // segunda vezTente 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. Quote Link to comment Share on other sites More sharing options...
0 Arlon Posted October 27, 2004 Author Report Share Posted October 27, 2004 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 Quote Link to comment Share on other sites More sharing options...
0 Arlon Posted October 28, 2004 Author Report Share Posted October 28, 2004 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?? Quote Link to comment Share on other sites More sharing options...
Question
Arlon
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??
Link to comment
Share on other sites
9 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.