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]