Obter tipo de uma propriedade no Delphi
Inclua na seção uses: TypInfo
Esta função retorna uma string com o nome do tipo de dado
de uma propriedade. Exemplos de retornos:
PropType(Button1, 'Caption'); // Retorna 'TCaption'
PropType(Edit1, 'Width'); // Retorna 'Integer';
PropType(Edit1, 'Color'); // Retorna 'TColor';
function PropType(const Obj: TObject; const PropName: string): string;
var
Info: PPropInfo;
begin
Info := GetPropInfo(Obj.ClassInfo, PropName);
if Assigned(Info) then
Result := Info^.PropType^.Name
else
Result := '';
end;
Exemplo de uso:
- Coloque um TButton e um TEdit;
- No OnClick do Button1 coloque o código abaixo;
- Execute, digite 'Caption' no Edit1 e clique em Button1.
procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage(PropType(Button1, Edit1.Text));
end;
Verdadeiramente não sei exatamente onde poderíamos aplicar esta dica, mas divulguei-a porque achei interessante. Acredito que o Object Inspector use algo parecido.