Registrar classes dinamicamente passando uma String - Delphi

04/09/2023

0

Teria alguma maneira de registrar classes dinamicamente no delphi? passando uma string para ela


ex:

tenho o form: consulta_clientes (formulario herdado do form consulta_padrao)

código no consulta_padrao:

procedure Tform_consulta_padrao.btn_inserirClick(Sender: TObject);
var
  NomeForm: string;
  FormCadastro: TForm_cadastro_padrao; 
begin
  NomeForm := Self.Name;
  Delete(NomeForm, 1, Length('formconsulta ')); <--- aqui tem um _  no nome, mas o discord nao mostrou 
FormCadastro := TForm_cadastro_padrao(FindClass('TFormcadastro' + NomeForm).Create(Self));   {Tentei dessa maneira e não consegui }

  try
    FormCadastro.ShowModal;
  finally
    FormCadastro.Free;
  end;
end;

Guilherme Lima

Guilherme Lima

Responder

Post mais votado

05/09/2023

O que você está querendo fazer é semelhante ao "java reflection".

O Delphi produz programas compilados, em linguagem nativa de máquina. Não creio que dê para fazer isso.

Em Windows, aplicações que utilizam plugins e incorporam novas funcionalidades sob demanda, geralmente fazem isso usando DDLs (Dynamic-link Library).

Arthur Heinrich

Arthur Heinrich
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar