Você tmabém pode tentar usar TCustomForm ao invés de TForm 


----- Mensagem original ----
De: Marcos Bernardo <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 16 de Setembro de 2008 10:42:40
Assunto: Re: [delphi-br] String para TForm


De uma pesquisada em RegisterClass no google, help...

Voce deverá registra a classe se não me engano...
e ai sim.. será possivel criar o form a partir de uma String e um CAST

abraço
Marcos Bernardo

2008/9/16 Robson Tazinaffo <robsontazinaffo@ hotmail.com>

> Existe alguma maneira de converter uma string em Tform? To criando uma
> função para Chamar os formularios através do nome adquirido no caption
> de um MainMenu...Segue abaixo o código:
>
> procedure TF_Principal. AcionaFormulario s(Sender: TObject);
> var
> MyMod: HMODULE;
> Componente: TComponent;
> AModule, StringTForm, StringForm: String;
> FormLogon, FormEmpresa: TComponent;
> X: Integer;
>
> begin
> StringTForm := 'T'+(Sender as TMenuItem).Name;
> StringForm := (Sender as TMenuITem).Name;
> Componente := Application. FindComponent( StringForm) ;
> try
> if Componente = nil then begin
> TFormClass(FindClas s(StringTForm) ).Create( Application) ;
> Componente := Application. FindComponent( StringForm) ;
> // A Chamada aqui não da certo
> (Componente as TForm).Show;
>
> // Assim da certo
> { if Trim(StringForm) = 'F_Alunos' then begin
> F_Alunos := TF_Alunos.Create( Self);
> F_Alunos.Top := 1;
> F_Alunos.Left := 1;
> F_Alunos.Show;
> end; }
> end;
> except
> MessageBox(Applicat ion.Handle, 'Não foi possível acessar o Menu
> desejado.' + #13 +
> 'Contate seu Revendedor.' , 'Erro', MB_OK+MB_ICONERROR) ;
> end;
> end;
>
> 
>

[As partes desta mensagem que não continham texto foram removidas]

 


      Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

[As partes desta mensagem que não continham texto foram removidas]

Responder a