Nesse artigo veremos
· Criação de componentes;
· Definindo métodos;
· Definindo propriedades.
Qual a finalidade
· Permitir a criação de componentes para aumento de produtividade e reaproveitamento de código.
Quais situações utilizam esses recursos?
· Códigos que se repetem em várias aplicações precisam ficar em um local centralizado, facilitando a manutenção e utilização. Componentes podem ser utilizados em qualquer tipo de aplicação.
A natureza RAD do Delphi deve muito a um conceito bastante conhecido pelos desenvolvedores: componentes. Você abre o IDE e tem à disposição componentes prontos para construir aplicações nas mais variadas áreas de desenvolvimento: Internet, Banco de Dados, User Interface, Web etc. Experimente navegar pela paleta de componentes e veja a variedade de recursos.
Neste artigo, veremos a anatomia de um componente, como são estruturados internamente, para que servem, e de praxe como criar nosso primeiro componente Delphi totalmente funcional.
O que é um componente
Componentes estão intimamente ligados à Programação Orientada a Objetos (POO). Na verdade, um componente é um objeto. Ou melhor, uma classe. Para quem está começando, pense numa classe como uma “receita de bolo”, e os objetos os “bolinhos” que você pode criar com ela. No Delphi, temos inúmeras classes, agrupadas no que chamamos de VCL (Visual Component Library). A VCL é sem dúvida uma das responsáveis por todo o sucesso do Delphi até hoje.
Quem já programou em linguagem estruturada, como por exemplo, o antigo Basic, deve se lembrar das famosas rotinas. No Pascal também tínhamos esse conceito. Tudo o que precisasse ser reaproveitado em vários prontos da aplicação, era movido para um procedimento, que podia então ser invocado inúmeras vezes. Surgia o reaproveitamento de código. O procedimento podia receber parâmetros, e assim se tornar mais flexível.
Com o surgimento da POO, surgiram as classes, que a grosso modo, se parecem com os procedimentos da linguagem estruturada, porém tendo inúmeras vantagens: encapsulamento, polimorfismo, herança etc. Então, classes são formas de reaproveitarmos código em nossas aplicações (em várias delas). E um componente, na verdade é uma classe que torna o trabalho ainda mais fácil, adicionando uma mistura RAD à receita.
Classes e componentes podem ser herdados de outros, isto é, eles podem aproveitar todo o código incluído em uma classe base e adicionar uma certa funcionalidade. Se você quiser montar um carro, por exemplo, provavelmente não vai construir todas as peças do zero, vai reaproveitar algumas, incrementar, reunir outras, e juntando tudo, temos o produto final. Assim funcionam as aplicações OO e com componentes.
No Delphi, criar um componente é muito simples. O primeiro passo é pôr em mente: o que eu preciso fazer, para identificar a classe base a ser herdada. Segundo: o que a mais esse meu componente irá fazer, aí você codifica. A má notícia é que a criação (não a utilização) de componentes no Delphi é feita de forma totalmente braçal, via código.
Antes de criar componentes, é preciso entender como funciona o coração da VCL do Delphi. Observe na Figura 1 que é a mãe de todas as classes é TObject. Essa classe especifica como todos os objetos do Delphi devem se comportar, além de adicionar importantes funcionalidades de RTTI (Runtime Type Information). TPersistent é responsável por serializar objetos. Na prática, quando configurar um componente e fechar o Delphi, ao retornar, tudo o que configurou nele estará lá. TComponent serve de base para todos os componentes. TControl é uma classe abstrata (que não pode ser criada) que serve de base para todos os controles visuais, como botões, caixas de edição, painéis. A seguir temos duas importantes subdivisões. TWinControl são classes que apenas encapsulam controles já definidos pelo Windows, como botões. A VCL ...