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 <[EMAIL PROTECTED]>

>   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.AcionaFormularios(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(FindClass(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(Application.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]

Responder a