Transformar var string em TComponentClass

02/10/2004

0

Boa noite colegas,

Como faço para transformação uma variavel string em tcomponetclass.

A intenção é poder chamar um formulario atraves dessa variavel string.

Desde já agradeço a atenção.

Antero Mendes


Anteromendes

Anteromendes

Responder

Posts

02/10/2004

Afarias

Vc deve usar o mecanismo de stream do Delphi. Usando a função FindClass para pegar a classe do Form q deseja criar, ex::


procedure TForm1.Button1Click(Sender: TObject);
var
  OutroFormClass: TFormClass;
  OutroForm: TForm;
begin

  // pegue a classe do form
  OutroFormClass := TFormClass(FindClass(´TForm2´));

  // crie e use o form como desejar, ex:
  Application.CreateForm(OutroFormClass, OutroForm);
  OutroForm.Show;

end;



Bom, mas para q isso funcione, a classe TForm2 deve estar registrada, para tanto, adicione ao final da unidade onde está declarada TForm2 o seginte código::

{... código da unit ...}

initialization
  RegisterClass(TForm2);

finalization
  UnRegisterClass(TForm2);

end.




T+


Responder

04/10/2004

Anteromendes

Companheiro,

Realizei o teste com as informações que me enviastes, contudo ocorreu um erro dizendo ´class not found´.

fiz dessa maneira :

procedure Tform1.chama_form(aform : string);
var
  tela  : TFormClass;
  xform : TForm;
begin
  tela := TFormClass(FindClass(´aform´));
  Application.CreateForm(tela, xform);
  xform.ShowModal;
  xform.Free;
end;
.....
chama_form(´tform2´)


Registrei a classe (Tform2) no form2 e ainda persiste o erro. Não sei se está faltando alguma coisa. O form2 está para ser criado em tempo de execução.

[]s,


Responder

04/10/2004

Afarias

Vc está colocando a variável entre aspas!!

tela := TFormClass(FindClass(´aform´));

quando tem q ser::

tela := TFormClass(FindClass(aform));


sem as aspas (já q aform é uma variável e não uma ´constante string´)


T+


Responder

04/10/2004

Anteromendes

Companheiro,

Nota dez amigo, realmente eu coloquei de forma errada.

Muito obrigado pela ajuda, quando precisar estamos ai !

Atenciosamente,


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar