Variar nome do Form no CreateForm
20/03/2006
0
[b:363afe73e2]Bom dia Pessoal,
É o seguinte tenho uma rotina para montar dinamicamente meu menu, porém não estou conseguindo variar o nome do Form.
Fiz a seguinte rotina:
procedure CriarForm(frmClass: TFormClass; out NewObj);
begin
try
TForm(NewObj) := FrmClass.create(Self);
TForm(NewObj).ShowModal;
finally
FreeAndNil(NewObj);
end;
end;
E chamo o método da seguinte forma:
CriaForm(adoMenu.FieldByName(´CD_TPROGRAMA´).AsVariant, adoMenu.FieldByName(´CD_PROGRAMA´).AsVariant);
Porém me retorna o seguinte erro:
Incompatible types ´TFormClass´ and ´Variant´.
E se eu mudar de AsVariant para AsString ele da o mesmo erro.
Como eu faço essa conversão ??
Valeu
SPLASH[/b:363afe73e2]
É o seguinte tenho uma rotina para montar dinamicamente meu menu, porém não estou conseguindo variar o nome do Form.
Fiz a seguinte rotina:
procedure CriarForm(frmClass: TFormClass; out NewObj);
begin
try
TForm(NewObj) := FrmClass.create(Self);
TForm(NewObj).ShowModal;
finally
FreeAndNil(NewObj);
end;
end;
E chamo o método da seguinte forma:
CriaForm(adoMenu.FieldByName(´CD_TPROGRAMA´).AsVariant, adoMenu.FieldByName(´CD_PROGRAMA´).AsVariant);
Porém me retorna o seguinte erro:
Incompatible types ´TFormClass´ and ´Variant´.
E se eu mudar de AsVariant para AsString ele da o mesmo erro.
Como eu faço essa conversão ??
Valeu
SPLASH[/b:363afe73e2]
Splash
Curtir tópico
+ 0
Responder
Posts
20/03/2006
Rjun
O erro acontece por que sua procedure espera um TFormClass e você está passando um tipo Variante ou String.
Veja esse [url=http://forum.clubedelphi.net/viewtopic.php?t=68054]tópico[/url]. Acho que pode lhe ser útil.
Veja esse [url=http://forum.clubedelphi.net/viewtopic.php?t=68054]tópico[/url]. Acho que pode lhe ser útil.
Responder
20/03/2006
Splash
[b:b1743b2415]Valeu Rogério pela resposta.
Cara tentei fazer, mas não deu muito certo não.
Alguém ja fez algo do tipo e poderia me ajudar ?
Encontrei uma forma de fazer, porem eu preciso deixar todos os forms no Auto-Create Forms ..... se não não funciona, porém quando eu chamo o form principal, ele instancia todos os forms, ele mostra todos os forms ..... ai não da né ....
Sera que alguem poderia me dar uma forcinha ...
Valeu a todos
Beto[/b:b1743b2415]
--------------------------------------------------------------------------------
O erro acontece por que sua procedure espera um TFormClass e você está passando um tipo Variante ou String.
Veja esse tópico. Acho que pode lhe ser útil.
_________________
Rogério Jun
Cara tentei fazer, mas não deu muito certo não.
Alguém ja fez algo do tipo e poderia me ajudar ?
Encontrei uma forma de fazer, porem eu preciso deixar todos os forms no Auto-Create Forms ..... se não não funciona, porém quando eu chamo o form principal, ele instancia todos os forms, ele mostra todos os forms ..... ai não da né ....
Sera que alguem poderia me dar uma forcinha ...
Valeu a todos
Beto[/b:b1743b2415]
--------------------------------------------------------------------------------
O erro acontece por que sua procedure espera um TFormClass e você está passando um tipo Variante ou String.
Veja esse tópico. Acho que pode lhe ser útil.
_________________
Rogério Jun
Responder
Clique aqui para fazer login e interagir na Comunidade :)