Instância de Forms

Delphi

06/09/2009

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í?


Crpavao

Crpavao

Curtidas 0

Respostas

Marco Salles

Marco Salles

06/09/2009

Vc tem que instanciar a partir da classe e não do objeto

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


GOSTEI 0
Crpavao

Crpavao

06/09/2009

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!


GOSTEI 0
POSTAR