Fórum multiplos forms em uma dll #412776

14/02/2012

0

Boa noite
Meu nome é Paulo
Bom pessoal vou direto ao assunto
Criei um formulário onde ele tem um função que chama o form de 2 modos
1 como showmodal
2 como show
Esse form é da própria DLL

Bom toda vez que eu chamo ele como show ele vai crescendo o numero de memoria ocupada
Bom ai resolvi dar um caFree no onclose dele
Com quando abro mais de 1 form ele aceita numa boa até as consultas que são realizadas nele cada forma se auto respeita sem causar nenhum problema
Porem quando eu mandei limpar o primeiro forme ele fechou numa boa
Quando fui fechar o segundo ele apresentou acess violation
Como se o primeiro tivesse limpado algo
Ai é que esta necessito chamar essa função que chama esse mesmo formulário diversas vezes
O que fazer nesse caso?
Paulo Oliveira.

Paulo Oliveira.

Responder

Posts

14/02/2012

Paulo Oliveira.

galera usando Tform(Self)
descobri que eue coloca uma numeração no nome do form

tipo o primeiro vai com Fclinte o outro passa a ficar Fcliente_1, Fcliente_2
porem eu não faço nada apenas vou executando a mesma função para criar
ai é que esta acho que não existe Fcliente_1 para ser excluido e ai o que fazer ?
Responder

Gostei + 0

14/02/2012

William

Colega geralmente esse erro de Acess Violation é quando vc tenta acessar um objeto que não está na memória, poste essa parte final do código.
Responder

Gostei + 0

14/02/2012

Paulo Oliveira.

o form existe sim tanto até que ele cria um monte de form
como eu disse no texto assim

ele até limpa o primeiro form sem problema o problema é quando vai limpar o segundo ou terceiro ou qualquer outro
ai ele da um acess violation
porem ele continua criando os forms numa boa
Responder

Gostei + 0

14/02/2012

William

Acho q como vc cria vários forms durante a execução da aplicação, eles estão com os mesmo nome de variável assim sendo qdo vc dá um caFree ele libera a variável da memória.

Tente executar o mesmo código com um projeto normal sem dll, posta o resultado ak ...
Responder

Gostei + 0

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

Aceitar