Berdam wrote:
> ai pessoal blz
> Tenho um dúvida, eu tenho um sistema, e enfrentamos problemas de Acess 
> Violation na abertura e fechamento dos datamodules.
> 
> AS telas de cadastro não são showmodal e portanto pode abrir várias telas.
> 
> AContece que no create do form, nós criamos o dm e no close do form 
> destruímos.
> Se o usuário abrir duas telas que usem o mesmo dm e depois fechar uma e 
> tentar manipular o dados na outra acontece o av. 
> 
> Eu pergunto, seria um boa idéia, criar o dm na inicialização do programa (são 
> 10 dms ao todo) e deixar os componentes Tquery e ClientDataset com a 
> propriedade active false??, quando existisse alguma manipulação de dados, 
> trocaríamos a propriedade dos componenentes para true.
> Dessa maneira pesaria muito a inicialização do programa ou deixando com false 
> esse peso é descartado???

Use contagem de referência. Aquele que criar o dm atribui 1 para a 
contagem. O próximo incrementa, passando para 2, e assim por diante. 
Quando dispensar o dm, decrementa o contador. Quando estiver em 1, ao 
invés de passar para 0, você o destrói.

--
Joao Morais

Responder a