etspaz 0 Denunciar post Postado Janeiro 14, 2008 boa tarde a todos, estou com um problema que est´s me atrapalhando muito. um projeto em que estou trabalhando esta dando access vilation em varias telas, sempre quando vai abrir alguma tela. sempre pára num showmodal ; já tentei debygar mas como não passa do show de um formulario não consigo identificar já que nos eventos destas telas que abor já conferi que não tem nada errado, não achei em nenhum lugar uma chamada a um objeto inexistente na memoria, o que pode ser já que esta acontecendo com todas telas do sistema, só abre a principal. será alguma coisa com o delphi? estou precisando de ajuda mesmo, pois é minha segunda semana no estagio que suei pra entrar e não consegui andar nada neste sistema. este codigo é do form principal que da onde chama as outras telas. Código: procedure TFrmPrincipal.acClienteExecute(Sender: TObject); begin try frm_cliente := TFrm_Cliente.Create(self); frm_cliente.ShowModal; Frm_Cliente.Release; finally FreeAndNil(frm_cliente); end; end; procedure TFrmPrincipal.acTipoClienteExecute(Sender: TObject); begin if not assigned(Frm_Tipocliente) then application.CreateForm(TFrm_Tipocliente,Frm_Tipocliente); Frm_Tipocliente.ShowModal; end; procedure TFrmPrincipal.acEspecialidadeExecute(Sender: TObject); begin if not assigned(Frm_TipoEspecialidade) then application.CreateForm(TFrm_TipoEspecialidade,Frm_TipoEspecialidade); Frm_TipoEspecialidade.ShowModal; end; procedure TFrmPrincipal.acFamiliaExecute(Sender: TObject); begin if not assigned(Frm_Familia) then application.CreateForm(TFrm_Familia,Frm_Familia); Frm_Familia.ShowModal; end; procedure TFrmPrincipal.acTipoProdutoExecute(Sender: TObject); begin if not assigned(Frm_TipoProduto) then application.CreateForm(TFrm_TipoProduto,Frm_TipoProduto); Frm_TipoProduto.ShowModal; end; procedure TFrmPrincipal.acFornecedorExecute(Sender: TObject); begin if not assigned(Frm_Fornecedor) then application.CreateForm(TFrm_Fornecedor,Frm_Fornecedor); Frm_Fornecedor.ShowModal; end; procedure TFrmPrincipal.acProdutosExecute(Sender: TObject); begin if not assigned(Frm_Produtos) then application.CreateForm(TFrm_Produtos,Frm_Produtos); Frm_Produtos.ShowModal; end; procedure TFrmPrincipal.acFormaPgtoExecute(Sender: TObject); begin if not assigned(Frm_FormaPgto) then application.CreateForm(TFrm_FormaPgto,Frm_FormaPgto); Frm_FormaPgto.ShowModal; end; procedure TFrmPrincipal.acComprasExecute(Sender: TObject); begin {if not assigned(Frm_Compras) then application.CreateForm(TFrm_Compras,Frm_Compras); Frm_Compras.ShowModal;} try frmComrpasNew := TfrmComrpasNew.Create(self); frmComrpasNew.ShowModal; finally FreeAndNil(frmComrpasNew); end; end; procedure TFrmPrincipal.acVendasExecute(Sender: TObject); begin if not assigned(Frm_Vendas) then application.CreateForm(TFrm_Vendas,Frm_Vendas); Frm_Vendas.ShowModal; Frm_Vendas.Free; Frm_Vendas := Nil; end; procedure TFrmPrincipal.tbtnVendaConsignadaClick(Sender: TObject); begin if not assigned(Frm_BaixadevendaConsignada) then application.CreateForm(TFrm_baixadevendaConsignada,Frm_baixadevendaConsignada); Frm_BaixadevendaConsignada.ShowModal; end; procedure TFrmPrincipal.tbtnContaCorrenteClick(Sender: TObject); begin if not assigned(Frm_ContaCorrente) then application.CreateForm(TFrm_ContaCorrente,Frm_ContaCorrente); Frm_ContaCorrente.ShowModal; Frm_contaCorrente.Free; Frm_ContaCorrente := Nil; end; procedure TFrmPrincipal.VendasporFornecedor1Click(Sender: TObject); begin if not assigned(Frm_RelatorioVendasFornecedor) then application.CreateForm(TFrm_RelatorioVendasFornecedor, Frm_RelatorioVendasFornecedor); Frm_RelatorioVendasFornecedor.ShowModal; end; procedure TFrmPrincipal.Clientes1Click(Sender: TObject); begin DmDentalita.RvProject.execute; end; procedure TFrmPrincipal.VendasporCliente1Click(Sender: TObject); begin if not assigned(Frm_RelatorioVendasCliente) then application.CreateForm(TFrm_RelatorioVendasCliente, Frm_RelatorioVendasCliente); Frm_RelatorioVendasCliente.ShowModal; end; procedure TFrmPrincipal.PorProduto1Click(Sender: TObject); begin if not assigned(Frm_RelatorioVendasProdutos) then application.CreateForm(TFrm_RelatorioVendasProdutos, Frm_RelatorioVendasProdutos); Frm_RelatorioVendasProdutos.ShowModal; end; procedure TFrmPrincipal.Preos1Click(Sender: TObject); begin if not assigned(Frm_ListaPrecos) then application.CreateForm(TFrm_ListaPrecos, Frm_ListaPrecos); Frm_ListaPrecos.ShowModal; end; procedure TFrmPrincipal.Estoque1Click(Sender: TObject); begin if not assigned(Frm_Estoque) then application.CreateForm(TFrm_Estoque, Frm_Estoque); Frm_Estoque.ShowModal; end; procedure TFrmPrincipal.Fornecedor2Click(Sender: TObject); begin DmDentalita.RvProject6.execute; end; procedure TFrmPrincipal.Sair2Click(Sender: TObject); begin application.Terminate; end; procedure TFrmPrincipal.EstoqueMnimo1Click(Sender: TObject); begin DmDentalita.RvProject7.execute; end; procedure TFrmPrincipal.---ome1Click(Sender: TObject); begin //DmDentalita.RvProject.execute; try frmRelListaClientes := TfrmRelListaClientes.Create(self); frmRelListaClientes.ShowModal; finally FreeAndNil(frmRelListaClientes); end; end; procedure TFrmPrincipal.porcidade1Click(Sender: TObject); begin //DmDentalita.RvProject8.execute; try frmRelClientesPorCidade := TfrmRelClientesPorCidade.Create(self); frmRelClientesPorCidade.ShowModal; finally FreeAndNil(frmRelClientesPorCidade); end; end; procedure TFrmPrincipal.FormShow(Sender: TObject); var Data,Data2 : String; begin Data := DateToStr(Date()); Data2 := Copy(Data,1,2) + '.' + Copy(Data,4,2) + '.' + Copy(Data,7,4); Frm_Login := TFrm_Login.Create(self); try Frm_Login.ShowModal; finally Frm_Login.Free; end; Frm_Progresso := TFrm_Progresso.Create(self); try Frm_Progresso.ShowModal; finally Frm_Progresso.Free; end; {Comentado por: Leonel - 31/01/2005 Comentário: Rotina para ocultar ou exibir o botão de acordo com pendências no follow up } dmDentalita.SDT_consluta_followup.Close; dmDentalita.SDT_consluta_followup.DataSet.CommandText := 'select * from FOLLOW_UP '; //+ //'where DATA_INICIAL_ALARME <39> 0) then begin btnVerificarPendencias.Visible := True; Stbar.Panels.Items[0].Text := 'Há clientes com pendências. Clique em Pendências para ver a lista de pendências'; end else btnVerificarPendencias.Visible := False; {carrega por padrao o arquivo de imagem que se encontra no mesmo diretório da aplicação chamado: img_gestao.jpg caso não encontre a aplicação dá um erro oculto e segue em frente} try Img_fundo.Picture.LoadFromFile('img_gestao.jpg'); except end; end; procedure TFrmPrincipal.Movimentao1Click(Sender: TObject); begin Frm_Movimentos := TFrm_Movimentos.Create(self); try Frm_Movimentos.ShowModal; finally Frm_Movimentos.Free; end; end; procedure TFrmPrincipal.Lanar1Click(Sender: TObject); begin if not assigned(Frm_ContaCorrente) then application.CreateForm(TFrm_ContaCorrente,Frm_ContaCorrente); Frm_ContaCorrente.ShowModal; Frm_ContaCorrente.Free; Frm_ContaCorrente := Nil; end; procedure TFrmPrincipal.Fechamento1Click(Sender: TObject); begin Frm_Fecha := TFrm_Fecha.Create(self); try Frm_Fecha.ShowModal; finally Frm_Fecha.Free; end; end; procedure TFrmPrincipal.Cobrana1Click(Sender: TObject); begin Frm_Cob := TFrm_Cob.Create(self); try Frm_Cob.ShowModal; finally Frm_Cob.Free; end; end; procedure TFrmPrincipal.Perfil1Click(Sender: TObject); begin Frm_Perfil := TFrm_Perfil.Create(self); try Frm_Perfil.ShowModal; finally Frm_Perfil.Free; end; end; procedure TFrmPrincipal.Usuario1Click(Sender: TObject); begin Frm_Usuario := TFrm_Usuario.Create(self); try Frm_Usuario.ShowModal; finally Frm_Usuario.Free; end; end; procedure TFrmPrincipal.ipodeMovimentao1Click(Sender: TObject); begin Frm_TipoMov := TFrm_TipoMov.Create(self); try Frm_TipoMov.ShowModal; finally Frm_TipoMov.Free; end; end; procedure TFrmPrincipal.ConsultadeFaturas1Click(Sender: TObject); begin Frm_Cons_Fatura := TFrm_Cons_Fatura.Create(self); try Frm_Cons_Fatura.ShowModal; finally Frm_Cons_Fatura.Free; end; end; procedure TFrmPrincipal.acMensagemExecute(Sender: TObject); begin if not assigned(FrmMensagem) then application.CreateForm(TFrmMensagem,FrmMensagem); FrmMensagem.ShowModal; end; o problema apareceu depois que eu fiz algumas alterações, porém eu voltei para a versão anterior à alteração, aqui usamos o toitorseSVN para controle de versões, mas os problemas continuaram, como pode, desfiz tudo mas não voltou a funcionar como antes. Compartilhar este post Link para o post Compartilhar em outros sites
Aprendizporumavida 0 Denunciar post Postado Janeiro 14, 2008 Este erro da em todas máquinas que você abre o projeto ou apenas na sua máquina ? O delphi foi reinstalado ? A partir de qual momento ao certo passou a dar o erro ? Compartilhar este post Link para o post Compartilhar em outros sites
etspaz 0 Denunciar post Postado Janeiro 14, 2008 beleza aprendiz, o erro dá em outras maquinas já pensei na posssibilidade de ser o delphi mas como da o mesmo erro em outras maq, descartei, parece ser algo tipo no projeto, agora não sei o que. bem neste post estão descrita todas as alterações que antecederam o inicio dos erros, porque no outro post era sobre outro erro que também ocorreu. http://forum.imasters.com.br/index.php...ic=266206"] e agora tá pior, tem hora que vou abrir um formulario para alterar, e o delphi fecha vlw. Compartilhar este post Link para o post Compartilhar em outros sites
Leonardo_Iron 0 Denunciar post Postado Janeiro 14, 2008 Pelo que vi, você ta criando os forms em tempo de execução e depois destruindo, verifica no project - options - forms. Esses forms que você esta criando em tempo de execução tem que estar do lado direito (available forms). Antes o seu projeto estava dando esse problema? Começou a dar problema do nada? Tenta pegar um backup antigo e compila p/ ver se vai ficar ok. Na pior das hipótese instala o delphi novamente. Compartilhar este post Link para o post Compartilhar em outros sites
etspaz 0 Denunciar post Postado Janeiro 16, 2008 problema resolvido! o problema era que estava faltando rtes udfs no banco, pois o servidor é linux e criaram estas udfs pro firebird, mas o cliente usa windows e eu estava usando um backup do banco do cliente mas na minha maquina faltava adicionar estas udfs, depois disso foi q foi hehe agradeço a todos pela ajuda neste problema Compartilhar este post Link para o post Compartilhar em outros sites
Aprendizporumavida 0 Denunciar post Postado Janeiro 16, 2008 beleza que bom que conseguiu. Precisando, o que estiver a nossa altura.. volte a postar abs Compartilhar este post Link para o post Compartilhar em outros sites