Esse artigo faz parte da revista Clube Delphi Edição 78. Clique aqui para ler todos os artigos desta edição

FONT-FAMILY: Verdana; mso-ansi-language: PT-BR"> 

Codificando e gerando classes

Inicie um novo projeto no Delphi e salve-o. Inclua uma nova unit e salve-a como “BusinessModel.pas”. Acesse o menu ModelMaker>Run ModelMaker Pascal Edition. Agora no ModelMaker abra o projeto do curso e na guia Modules clique com o botão direito sobre Classes not assigned to modules e escolha Add new Module.

Agora é preciso escolher em qual unit as classes serão geradas e quais classes serão geradas nessa unit. É possível determinar que cada classe tenha sua própria unit ou gerar todas as classes em uma só. Veja na Figura 1, como deve ficar o módulo.

 

Nota: Eu recomendo a geração de uma unit por classe, isso facilita na hora da manutenção, para dividir as tarefas para a equipe. Como nosso projeto é simples, decidi criar as classes em uma única unit, a BusinessModel.

 

 

Figura 1. Escolhendo a unit onde serão geradas as classes

 

Vamos implementar os métodos Get/Set das propriedades das classes TRevista e TArtigo, e faremos isso dentro do próprio ModelMaker. Na guia Classes, clique sobre TRevista, observe que abaixo são exibidas as propriedades, métodos e campos da classe, de acordo com o filtro de visualização. Clique sobre o método GetEmail, acesse a guia Implementation e digite o seguinte código:

 

Result := _Email.Value;

 

Implemente também o método SetEmail com o seguinte código:

 

_Email.Value := Value;

 

Faça o mesmo para os outros Gets/Sets da classe TRevista. Ao terminar vamos gerar a classe TRevista. Primeiramente devemos habilitar a geração de código, que por padrão é bloqueada. Observe que temos na barra de atalhos dois botões que são representados por um cadeado aberto e outro fechado (Figura 2).

 

Figura 2. Habilitando a geração de código

 

Clique sobre o cadeado aberto, para a geração de código ficar habilitada. Na guia Modules clique sobre o botão Generate (), caso seja solicitada alguma confirmação, por hora, confirme.  Acesse o Delphi, sem fechar o ModelMaker e veja que ambas as classes TRevista e TArtigo estão implementadas.

Você vai observar que os métodos de TArtigo não estão completos. Para mostrar o nível de integração do Delphi e do ModelMaker vamos fazer o inverso, vamos implementar os métodos de TArtigo no Delphi e pedir para que sejam atualizados no ModelMaker.

Implemente os Gets/Sets como feito em TRevista, a diferença estará para o Get/Set da propriedade TArtigo.Revista, que deverá ser implementada conforme o seguinte código:

 

function TArtigo.GetRevista: TRevista;

begin

  Result := _Revista.Value as TRevista;

end;

 

procedure TArtigo.SetRevista(Value: TRevista);

begin

  _Revista.Value := Value;

end;

 

É preciso também adicionar à cláusula uses a unit InstantPersistence e criar a seção Initialization para registrar as classes, que é um requisito do InstantObjects, conforme o seguinte código:

 

initialization

  InstantRegisterClasses([TRevista, TArtigo]);

 

...

Quer ler esse conteúdo completo? Tenha acesso completo