Artigo Clube Delphi 78 - VCL Revelada

Entender o funcionamento da VCL internamente é de suma importância para criar novos componentes corretamente, e saber como se comportam os que são nativos do Delphi.

 

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

Clique aqui para ler esse artigo em PDF.

Win32

VCL Revelada

 

Nossa ferramenta de desenvolvimento já tem mais de 10 anos de vida. Quantos programas foram feitos nesse período! Muitos deles, senão todos, foram feitos com o auxílio de componentes, controles, objetos etc., sejam para apenas exibir um botão na tela ou para fornecer acesso a um banco de dados.

E, independentemente da função dos componentes, a sua utilização (e criação) foi enormemente facilitada através de uma sigla que conhecemos bem: VCL. Mas, como a VCL funciona? Quais classes a sustentam? Entender o seu funcionamento interno é de suma importância para criar novos componentes corretamente, e saber como se comportam os que são nativos do Delphi. Isso tudo veremos neste artigo.

 

VCL: um pequeno histórico

Em inglês, VCL significa Visual Component Library. Em português, Biblioteca de Componentes Visuais. Embora o nome faça parecer que a VCL é composta apenas de controles visíveis ao usuário, também há classes que, mesmo não aparecendo no sentido literal do termo, servem como base ou auxiliam as que assim o são.

A VCL existe desde o Delphi 1, lançado em 1995, e assim como a ferramenta, vem sofrendo mudanças e melhorias ao longo do tempo. Sua principal função era abstrair do desenvolvedor o conhecimento de API’s nativas do sistema operacional para a criação de interfaces gráficas (GUI ou Graphical User Interface).

Esse papel, todos sabemos que a VCL cumpre muito bem, e isso foi um dos grandes atrativos para o Delphi, quando do seu lançamento. Afinal, alguém aqui já precisou escrever CreateWindow para criar um formulário?

 

Hierarquia da VCL

A hierarquia da VCL é absurdamente extensa. Nela estão todos os componentes nativos do Delphi/C++ Builder. Nesse grupo de classes, podemos destacar um subconjunto que serve de base para todos os outros:

 

·TObject

oTPersistent

§TComponent

·TControl

oTGraphicControl

oTWinControl

§TCustomControl

 

Veremos agora a função, alguns métodos e propriedades de cada classe.

TObject

Essa classe é a base para todos os objetos na Delphi Language. Todas as classes da VCL herdam dela, direta ou indiretamente. TObject provê as funções básicas de todo objeto, como criação, destruição, alocação e liberação de memória. Além disso, também publica informações de run-time (RTTI ou Runtime Type Information) sobre as propriedades declaradas em sua seção published.

Essa classe não possui propriedades nem eventos, apenas métodos, muitos estáticos (também chamados de métodos de classe). Algumas dessas rotinas são bem interessantes em determinadas situações. Vejamos então quais são elas:" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados