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;

Responder a