Bom dia, Em minha aplicação possuo um menu dinamico, onde ao clicar em determinado botão um form é chamado, fiz a seguinte maneira: implementation {$R *.dfm} // Todo o código da unit aqui initialization RegisterClass(TForm2); end. Para criar esse formulário, poderia ser usada uma função semelhante a seguinte: function CriaForm(const NomeForm: string): TForm; var TClasse : TPersistentClass; begin Result := nil; TClasse := GetClass(NomeForm); if (TClasse <> nil) and TClasse.InheritsFrom(TForm) then Result := TFormClass(TClasse).Create(nil); end; var Form : TForm; begin Form := CriaForm('Form2'); if not Assigned(Form) then MessageDlg('Form não registrado!', mtError, [mbOK], 0) else begin Form.ShowModal; Form.Free; end; end; O problema é que sempre caio em "Form não registrado".. , alguém sabe como resolver ?