Fér@ 0 Denunciar post Postado Julho 15, 2010 Preciso de ajuda pra arrumar esse erro: Project Sistema.exe raised exception class EAccessViolation with message 'Access violation at address 004AD276 in module'Sistema.exe' Ja tentei fazer de tudo pra arrumar ele! Compartilhar este post Link para o post Compartilhar em outros sites
wllf 2 Denunciar post Postado Julho 16, 2010 E qual ponto da execução que surge esse erro? Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Julho 16, 2010 Tenta ver se não está chamando um objeto ou form ainda não criado Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Julho 16, 2010 Tem que saber em que ponto gera o erro. Por exemplo: ao abrir o sistema, ou ao clicar em um botão... Sabendo isso, você pode marcar um determinado ponto e ir debugando. Assim fica bem facil de achar. Compartilhar este post Link para o post Compartilhar em outros sites
Fér@ 0 Denunciar post Postado Julho 16, 2010 Ele da o erro depois q passa o splash antes de chegar na tela de login!!! mas se eu debuga te ele naum vai aparecer o erro peq naum aparece linha vermelha!!!!!! agora ta dando outro erro nesse codigo: begin MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0); EdtSenha.Clear; EdtSenha.SetFocus; end else begin FrmLogin.Hide; FrmMenuPrin.ShowModal; FrmLogin.Release; FrmLogin := Nil; end; Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Julho 16, 2010 Provavelmente o erro está na tela de login, no onshow ou oncreate desse form Coloque um breakpoint (linha vermelha) no código se você estiver utilizando esses eventos Outro possivel caso, é a chamada de algum evento de outro form ainda não criado Compartilhar este post Link para o post Compartilhar em outros sites
Fér@ 0 Denunciar post Postado Julho 16, 2010 ja coloquei mais ele da erro bem em cima da linha Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Julho 16, 2010 você criou o form de login? Compartilhar este post Link para o post Compartilhar em outros sites
Fér@ 0 Denunciar post Postado Julho 16, 2010 você criou o form de login? Criei! Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Julho 16, 2010 begin MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0); EdtSenha.Clear; EdtSenha.SetFocus; end else begin FrmLogin.Hide; FrmMenuPrin.ShowModal; FrmLogin.Release; FrmLogin := Nil; end; Essa rotina você verifica se o usuário digitou a senha, correto? onde você faz a verificação da senha? É um DataModule? Esse foi criado antes do Form Login? Compartilhar este post Link para o post Compartilhar em outros sites
Fér@ 0 Denunciar post Postado Julho 16, 2010 ele verifica se a senha esta correta procedure TFrmLogin.BtnOkClick(Sender: TObject); begin Dm.tab_Usuarios.Open; // abre a tabela tab_Usuarios FrmMenuPrin.StatusBar1.Panels[2].Text :=' Usuário:' + FrmLogin.EdtApelido.Text ; If not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey ])) or (Dm.tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then begin MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0); EdtSenha.Clear; EdtSenha.SetFocus; end else begin FrmLogin.Hide; FrmMenuPrin.ShowModal; FrmLogin.Release; FrmLogin :=Nil; end; end; Ele é um splash foi criado ante pq é a tela de inicialização do sistema Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Julho 16, 2010 ele verifica se a senha esta correta procedure TFrmLogin.BtnOkClick(Sender: TObject); begin Dm.tab_Usuarios.Open; // abre a tabela tab_Usuarios FrmMenuPrin.StatusBar1.Panels[2].Text :=' Usuário:' + FrmLogin.EdtApelido.Text ; If not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey ])) or (Dm.tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then begin MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0); EdtSenha.Clear; EdtSenha.SetFocus; end else begin FrmLogin.Hide; FrmMenuPrin.ShowModal; FrmLogin.Release; FrmLogin :=Nil; end; end; Ele é um splash foi criado ante pq é a tela de inicialização do sistema Provavelmente é esse DM que não foi criado, você cria ele antes ou depois da Splash? Compartilhar este post Link para o post Compartilhar em outros sites
Fér@ 0 Denunciar post Postado Julho 16, 2010 ele verifica se a senha esta correta procedure TFrmLogin.BtnOkClick(Sender: TObject); begin Dm.tab_Usuarios.Open; // abre a tabela tab_Usuarios FrmMenuPrin.StatusBar1.Panels[2].Text :=' Usuário:' + FrmLogin.EdtApelido.Text ; If not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey ])) or (Dm.tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then begin MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0); EdtSenha.Clear; EdtSenha.SetFocus; end else begin FrmLogin.Hide; FrmMenuPrin.ShowModal; FrmLogin.Release; FrmLogin :=Nil; end; end; Ele é um splash foi criado ante pq é a tela de inicialização do sistema Provavelmente é esse DM que não foi criado, você cria ele antes ou depois da Splash? eu crio depois do splash!! Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Julho 16, 2010 E aquele procedimento de verificação de senha, onde você está chamando? Compartilhar este post Link para o post Compartilhar em outros sites
Fér@ 0 Denunciar post Postado Julho 16, 2010 procedure TFrmLogin.BtnOkClick(Sender: TObject); begin Dm.tab_Usuarios.Open; // abre a tabela tab_Usuarios FrmMenuPrin.StatusBar1.Panels[2].Text :=' Usuário:' + FrmLogin.EdtApelido.Text ; If not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey ])) or (Dm.tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Julho 16, 2010 Em que momento você está criando o DM? Antes ou depois do FrmLogin? Compartilhar este post Link para o post Compartilhar em outros sites
Fér@ 0 Denunciar post Postado Julho 16, 2010 begin Application.Initialize; Application.Title := 'Sistema de Contagem Lig Chopp'; Application.CreateForm(TFrmLogin, FrmLogin); Application.CreateForm(Tfrmmenuprin, frmmenuprin); Application.CreateForm(TFrmSplash, FrmSplash); Application.CreateForm(TDM, DM); Application.CreateForm(TFrmCadPadrao, FrmCadPadrao); Application.CreateForm(TFrmCadCliente, FrmCadCliente); Application.CreateForm(TFrmCadFornecedores, FrmCadFornecedores); Application.CreateForm(TFrmCadCategoria, FrmCadCategoria); Application.CreateForm(TFrmCadFuncionarios, FrmCadFuncionarios); Application.CreateForm(TFrmMovVendas, FrmMovVendas); Application.CreateForm(TFrmMovItensdaVenda, FrmMovItensdaVenda); Application.CreateForm(TFrmCadItens, FrmCadItens); Application.Run; end. Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Julho 19, 2010 begin Application.Initialize; Application.Title := 'Sistema de Contagem Lig Chopp'; [u][b]Application.CreateForm(TDM, DM);[/b][/u] --> Crie os DataModules antes de tudo Application.CreateForm(TFrmLogin, FrmLogin); Application.CreateForm(Tfrmmenuprin, frmmenuprin); Application.CreateForm(TFrmSplash, FrmSplash); Application.CreateForm(TFrmCadPadrao, FrmCadPadrao); Application.CreateForm(TFrmCadCliente, FrmCadCliente); Application.CreateForm(TFrmCadFornecedores, FrmCadFornecedores); Application.CreateForm(TFrmCadCategoria, FrmCadCategoria); Application.CreateForm(TFrmCadFuncionarios, FrmCadFuncionarios); Application.CreateForm(TFrmMovVendas, FrmMovVendas); Application.CreateForm(TFrmMovItensdaVenda, FrmMovItensdaVenda); Application.CreateForm(TFrmCadItens, FrmCadItens); Application.Run; end. Por isso está dando Violação de memória, você está chamando o DataModule no Login, porem este ainda não foi criado. Dica: Sempre crie os Datamodules do seu sistema antes de tudo. Compartilhar este post Link para o post Compartilhar em outros sites
Fér@ 0 Denunciar post Postado Julho 19, 2010 begin Application.Initialize; Application.Title := 'Sistema de Contagem Lig Chopp'; [u][b]Application.CreateForm(TDM, DM);[/b][/u] --> Crie os DataModules antes de tudo Application.CreateForm(TFrmLogin, FrmLogin); Application.CreateForm(Tfrmmenuprin, frmmenuprin); Application.CreateForm(TFrmSplash, FrmSplash); Application.CreateForm(TFrmCadPadrao, FrmCadPadrao); Application.CreateForm(TFrmCadCliente, FrmCadCliente); Application.CreateForm(TFrmCadFornecedores, FrmCadFornecedores); Application.CreateForm(TFrmCadCategoria, FrmCadCategoria); Application.CreateForm(TFrmCadFuncionarios, FrmCadFuncionarios); Application.CreateForm(TFrmMovVendas, FrmMovVendas); Application.CreateForm(TFrmMovItensdaVenda, FrmMovItensdaVenda); Application.CreateForm(TFrmCadItens, FrmCadItens); Application.Run; end. Por isso está dando Violação de memória, você está chamando o DataModule no Login, porem este ainda não foi criado. Dica: Sempre crie os Datamodules do seu sistema antes de tudo. Amanha vou testar mudar de lugar se der certo vlw se naum posto mais aqui Compartilhar este post Link para o post Compartilhar em outros sites
Raficcha 1 Denunciar post Postado Julho 20, 2010 A sua tela de login está sendo chamada no evento "onCreate" do seu form principal? Compartilhar este post Link para o post Compartilhar em outros sites