O artigo aborda as principais classes da hierarquia da VCL, comumente chamadas de “Core”, para que servem e suas principais características. As classes base da VCL vistas aqui são TObject, TPersistent, TComponent, TControl, TWinControl e TGraphicControl.
Para que serve
As classes base da VCL do Delphi são o “esqueleto” de todo o framework e definem as características e comportamentos de todos os objetos, servem como ponto de partida para criação de novas classes, de modo a estender o framework.
Em que situação o tema é útil
É útil para conhecer a linguagem mais a fundo, aproveitando e compreendendo melhor a estrutura da VCL, desta forma é possível ao mesmo tempo adquirir conhecimentos mais avançados sobre RTTI e criação de componentes.
O “core” da VCL
Um termo muito utilizado na comunidade é o famoso “colador de botão”. Este termo foi designado em forma de crítica aos desenvolvedores que abdicam de utilizar os recursos de linguagem para se limitarem a utilização comum dos componentes visuais, sem conhecimento de boas práticas, orientação a objetos, ou mesmo como as coisas funcionam nos “bastidores”. É perfeitamente possível desfrutar do poder RAD unindo-o com tudo que o IDE do Delphi pode oferecer, sem no entanto entender os conceitos por trás da VCL. Esta observação foi feita com a finalidade de chamar a atenção do leitor para estudar as classes que definem todo o comportamento tanto da VCL, como de praticamente tudo que se faz com Delphi. Nesse sentido, no artigo será abordado um pouco sobre o “Core” do Delphi, tratando da hierarquia das principais classes que compõem o Delphi. Você entenderá qual o papel de cada classe base na composição da VCL.
Recentemente a Embarcadero anunciou mais uma versão do Delphi denominada de XE. Sempre que surgem novas versões, com elas chegam também novas funcionalidades e novos recursos através de novas classes. É possível facilmente expandir as funcionalidades dos componentes, do IDE, dos frameworks, tudo graças à orientação a objetos aplicada em todo o Delphi e que pode ser claramente visualizada com uma simples navegação entre a hierarquia de classes. Conhecer as classes base da VCL é fundamental para compreender como o framework evolui, desde aprimoramentos no acesso a dados, desenvolvimento Web, multicamadas e mais.
As classes principais ou Core como podemos denominar estão presentes no desenvolvimento de praticamente tudo que somos acostumados a trabalhar. Conhecer as classes é um modo de se tornar melhor no desenvolvimento, conhecendo os atalhos ou caminhos mais simples para encontrar determinadas soluções para os problemas cotidianos.
Existem inúmeras vantagens em se conhecer a fundo o poder das classes do Delphi. Uma das vantagens, por exemplo, é o fato de conseguir trabalhar de forma mais simples com a RTTI. Outra é quando se deseja expandir a VCL de forma a criar os próprios componentes. Criar componentes é uma dos maiores benefícios da programação com Delphi, pois é possível utilizar diversos conceitos da orientação a objetos, criação de eventos, validações, além de conhecer de forma mais aprofundada o funcionamento da VCL. Deste modo, faz-se necessário conhecer as classes de mais alto nível para saber exatamente de quem herdar.
A Figura 1 demonstra a hierarquia das classes core no Delphi, o coração da VCL. No topo da hierarquia está TObject, que é a ancestral de todas as classes. Descendendo dela encontra-se TPersistent, que provê os métodos necessários para criar objetos com suporte a Stream. Devido ao fato do Delphi implementar Forms usando streams, TComponent descende diretamente de TPersistent, dando a todos os componentes a habilidade de serem salvos em formato textual, por exemplo no arquivo DFM. Descendentes diretos de TComponent são componentes não visuais. A classe abaixo (TControl) implementa o código necessário para os componentes visuais. Logo a seguir é possível notar que existem duas derivações da classe TControl, para criar componentes visuais específicos (TWinControl e TGraphicControl) cada uma com sua própria hierarquia/estrutura.
...