José Mário Silva Guedes wrote:
> Isso mesmo...
> 
> É que estou transformando mensagens de comunicação com um equipamento em
> classes. Os "parâmetros" destas mensagens estão virando "propriedades"
> destas classes (dai o meu erro de expressão).
> Certamente isso poderia ser resolvido omitindo o "read" ou "write", creio
> eu. Mas não resolveu muito pois via RTTI não consegui determinar se uma
> propriedade é INPUT ou OUTPUT.

uses
   TypInfo;

var
   VPropInfo: PPropInfo;
begin
   VPropInfo := GetPropInfo(Obj, 'prop');
   if Assigned(VPropInfo) then  // é published, tem rtti
   begin
     if Assigned(VPropInfo^.GetProc) then
       // tem getter
     if Assigned(VPropInfo^.SetProc) then
       // tem setter
   end;
end;


> Estou partindo para um controle interno à classe, provavelmente uma function
> que retorne esta informação sobre determinada propriedade.
> 
> Mas de repente isso poderia ser previsto na construção da classe. Mas nunca
> vi algo parecido nem achei nada nas pesquisas.

--
Joao Morais

Responder a