Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

etspaz

access violation

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.