Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo Clube Delphi Magazine 97 - RTTI
Artigo publicado pela Clube Delphi Magazine edição 97.

Expert
RTTI na prática
Conheça na prática um dos recursos mais poderosos da linguagem Delphi
Neste artigo veremos
· Introdução a RTTI;
· Uso de Ponteiros;
· Criação de um simples Object Inspector para fins de didática.
Qual a finalidade
· Manipulação de propriedades em tempo de execução.
Quais situações utilizam esses recursos?
· Em sistemas orientados a objetos, podemos utilizar os recursos demonstrados para tornar ainda mais customizável o sistema para o cliente final.
Resumo do DevMan
RTTI é um dos aspectos mais importantes da linguagem Delphi, utilizado pelo IDE e também pode ser utilizado pelo desenvolvedor, como verá neste artigo.
Muitos de nós já ouvimos falar e talvez já até tenhamos utilizado RTTI na prática. Run-time Type Information, como o próprio nome diz, são informações geradas em tempo de projeto para serem utilizadas em tempo de execução. Estas são utilizadas largamente pelos conceitos mais básicos do Delphi, como a listagem de propriedades no Object Inspector, ou a composição de um formulário em tempo de execução. Você já se perguntou como isso é feito?
Através de exemplos bastante didáticos, veremos tudo o que o Delphi nos disponibiliza no que se refere a RTTI. Prepare-se para entender como o Delphi funciona por trás dos panos e a utilizar tais técnicas em proveito próprio, ao projetar suas próprias aplicações.
Ponteiros
Antes de falarmos de RTTI, devemos, contudo, compreender um conceito extremamente antigo da programação de computadores: ponteiros. Com o advento da nova era das linguagens de programação (Java, C#, PHP, Ruby, etc.), tal conceito vem se tornando cada vez mais transparente e, portanto, programadores que estão ingressando na área nos dias de hoje, provavelmente, não saberão o que realmente acontece quando um processo é executado em seu sistema operacional.
Para começar, devemos ter, pelo menos, uma vaga noção de como funciona a memória de nosso computador. Podemos resumi-la em duas regiões: stack e heap. Quando declaramos uma variável do tipo Integer, por exemplo, será reservada uma região do stack para ela. E, quando um valor for associado a essa, o processo o colocará naquela região alocada. Verifique, na Figura 1, como ficaria a memória após a execução do código da Listagem 1.
Listagem 1. Exemplo de alocação de memória
procedure TForm1.Button1Click(Sender: TObject);
var
"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Gustavo Chaurais
Gustavo Chaurais, (gchaurais@gmail.com) é Borland Delphi 7 Advanced Certified, Borland Delphi 2005 for Win32 Product Certified, Borland Delphi 2005 Instructor Certified e Borland Delphi 2006 for Win32 Product Certified. Nos últimos anos, Gustavo tem se dedicado a escrever artigos, prestar treinament...



