Fórum Tipo metaclass no Delphi #582860

25/06/2017

0

Olá,
gostaria de entender o recurso de metaclass do Delphi, qual a real utilidade desse recurso. Acredito que um tipo metaclass é um ponteiro para a estrutura de uma classe igual ao codigo que segue:

TQualquer = class of TMinhaClass;

TMinhaClass = class
...
end;

a variável TQualquer esta apontando para a estrutura da classe TMinhaClass, quando este tipo de variável vai ser útil para mim?
Rogério Zek

Rogério Zek

Responder

Post mais votado

01/08/2017

A funcionalidade deste recurso é trabalhar com tipos como se fossem objetos, e criar rotinas que deixem o código mais Orientado a Objeto ainda. Existe um vídeo de minha autoria aqui no portal que explica exatamente o que fazer com o TQualquer:

https://www.devmedia.com.br/curso/curso-class-of-na-pratica-em-delphi/1457

Observe que no vídeo eu fiz uma função que permite instanciar dinamicamente um formulário e passar para ele um datamodule também instanciado


procedure TFrmPrincipal.criaFormularioMovimentacao(form: TFrmMovimentacaoClass;  datamodule: TDMMovimentacaoClass);
begin
  FDMMovimentacao  :=datamodule.Create(self);
  FFrmMovimentacao :=form.Create(self,FDMMovimentacao);
  FFrmMovimentacao.ShowModal;
  FreeAndNil(FFrmMovimentacao);
  FreeAndNil(FDMMovimentacao);
end;



os parametros são do tipo metaclass, ou seja eu não vou passar uma instancia, eu vou passar um tipo, e eles serão tratados como tal para criar a instancia dentro das variáeis;

Espero que eu tenha ajudado.

Se ajudei, não deixe de dar o joinha.

Hélio Devmedia

Hélio Devmedia
Responder

Gostei + 1

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

Aceitar