Fórum Instância de Forms #374625
06/09/2009
0
Tenho um form chamado fmFiltro
Dentro de um outro form, chamado fmEqpto, quero instânciá-lo e faço assim:
lfmFiltro := fmfiltro.Create(fmEqpto);
Mas, dentro do fmEqpto tenho comando que usa variáveis do fmFiltro, tipo
fmFiltro.pmTipo := 1;
Ao compilar tudo bem, mas no momento de execução dá um erro de exceção, o que é obvio, pois o fmfiltro não está aberto e, sim, a sua instância.
Como resolver isto aí?
Dentro de um outro form, chamado fmEqpto, quero instânciá-lo e faço assim:
lfmFiltro := fmfiltro.Create(fmEqpto);
Mas, dentro do fmEqpto tenho comando que usa variáveis do fmFiltro, tipo
fmFiltro.pmTipo := 1;
Ao compilar tudo bem, mas no momento de execução dá um erro de exceção, o que é obvio, pois o fmfiltro não está aberto e, sim, a sua instância.
Como resolver isto aí?
Crpavao
Curtir tópico
+ 0
Responder
Posts
06/09/2009
Marco Salles
Vc tem que instanciar a partir da classe e não do objeto
lfmFiltro := fmfiltro.Create(fmEqpto); vai da acesso violado
Agora , não é obrigatorio , mesmo que vc instancie este form a partir de
outro que o mesmo seje o seu proprietário ... Tem que ver a real necessidade
disso.
Mas a principio para a sua duvida a utilização acima deve resolver
lfmFiltro := fmfiltro.Create(fmEqpto); vai da acesso violado
lfmFiltro := Tmfiltro.Create(fmEqpto);
Agora , não é obrigatorio , mesmo que vc instancie este form a partir de
outro que o mesmo seje o seu proprietário ... Tem que ver a real necessidade
disso.
Mas a principio para a sua duvida a utilização acima deve resolver
Responder
Gostei + 0
07/09/2009
Crpavao
Marco,
Obrigado pela força.
Mas era isto mesmo que estava fazendo (só passei errado a informação).
O problema era outro: eu Estava definindo a variável lfmFiltro : TForm e deveria ser lfmFiltro : TfmFiltro.
Agora tô com outro pau, mas vou tentar resolver por aqui mesmo (questão de lógica, penso eu).
Obrigado, cara!
Obrigado pela força.
Mas era isto mesmo que estava fazendo (só passei errado a informação).
O problema era outro: eu Estava definindo a variável lfmFiltro : TForm e deveria ser lfmFiltro : TfmFiltro.
Agora tô com outro pau, mas vou tentar resolver por aqui mesmo (questão de lógica, penso eu).
Obrigado, cara!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)