Fórum Acces Violation #332068

25/10/2006

0

Oi Uso Delphi 7

Estou com um problema estranho com a tela de Compras.

Normalmente ela abre e fecha o form sem problema nenhum, mas de vez em quando, se vc ficar trocando de tela por algumas vezes (Ex. das compras vai ao relatório volta ao compras vai ao Orçamento volta ao compras) na hora que vai sair do compras ele dá access violation e depois nao permite mais voltar ao compras, só se sair do sistema completamente e voltar a entrar.

Sei que access violation é quando vc está tentando acessar alguma coisa que não está disponível, mas não é esse o caso (ao menos eu acho, pois seguindo passo a passo pelo F7 ele trava em pontos diferentes e em sem a minima indicação de um setfocus ou recebimento de valor ou abertura ou qualquer coisa do tipo).

O form é criado durante a aplicação, e após o close faço um release.

Já tentei fazer a criação e o fechamento dele dentro de um try ... except ... end, mas não adiantou nada, segui passo a passo mas ele não indica onde é o erro.

Alguem teria alguma ideia de o que poderia estar causando esse erro.

Agradeço antecipamente qualquer ajuda.


Salupe

Salupe

Responder

Posts

25/10/2006

Marco Salles

O form é criado durante a aplicação, e após o close faço um release.


como voce esta criando esse forms ???

Qual é o proprietário ???
Com estão os forms na secção Avalaible Forms ???


Responder

Gostei + 0

25/10/2006

Martins

Pode ser que entre esses forms q são chamados, relatórios, etc..., esteja ficando algum resíduo, algum componente instânciado ou algo assim?


Responder

Gostei + 0

25/10/2006

Salupe

Eles estão no Avalaible Forms e não são criados automaticamente, eu os crio conforme for preciso pelo comando:

Application.CreateForm(TMovProdutos, MovProdutos);
MovProdutos.Show;

Os relatórios são criados em Forms diferenciados e sempre que sao fechados é feito release deles tambem.

Agradeço antecipadamente qualquer ajuda.


Responder

Gostei + 0

27/10/2006

Salupe

Alguem teria mais alguma sugestão, estou sem saber o que fazer ou procurar.


Responder

Gostei + 0

27/10/2006

Marco Salles

Para este relatorios voce esta usando QuickReport ????
e como e aonde voce destroe esse forms .. Voce disse estar usando o release.. Mas aonde ???

Esta meio confuso , pelo menos para mim , entender a dinamica de criação , apresentação e destruição desses forms...

O que posso lhe sugerir é fazer assim :

if form2 = nil then Form2:=Tform2.Create(application); Form2.Show;


e no evento onclose dessef formulario
action:=Cafree; Form2:=nil;


Aqui a titulo de exemplo estou usando o Form2


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar