Obter o valor da Propriedade de uma classe

Delphi

09/11/2004

Colegas,

Hipoteticamente, tenho uma classe:

...
type
  TMyClass = class
  private
    FCodigo: integer;
  public
    property Codigo: integer read FCodigo write SetCodigo(const  Value:      integer);
  end;
...


Beleza... Alguém sabe como eu obtenho através do clique de um botão de um Formulário, ou seja, um procedimento que me retorne o nome das propriedades de uma classe ou Instância da mesma (Objeto), e seus respectivos valores?

[]´s


Michaell

Michaell

Curtidas 0

Respostas

Buosinet

Buosinet

09/11/2004

Pra vc conseguir informações das propriedades, use a função ´GetPropInfo´.

Pra manipular as ditas cujas, depende do tipo de dado, aí vc terá GetStrValue e SetStrValue para strings, GetOrdValue e SetOrdValeu para os ordinais (numeros e enumerados) e GetFloatValue e SetFloatValue para numeros não inteiros.

O help do Delphi explica legal, cheque as funções acima.

Boa sorte,
Buosi.


GOSTEI 0
Michaell

Michaell

09/11/2004

var
  MyClass: TMyClass;
begin
  try
    MyClass := TMyClass.Create;

    GetOrdProp(MyClass, GetPropInfo(MyClass, ´Codigo´));
  finally
    FreeAndNil(MyClass);
  end;
end;


Colega,

Coloquei esse código no evento OnClik de um botão, por exemplo, para testar, e deu um erro de memória... Lembrando que em outra unit tenho minha class implementada com o campo FCodigo e a respectiva Propriedade (Codigo), ambos integer.
Você poderia me fazer a gentileza de postar ou enviar um exemplo:

rnet@hotmail.com

[]´s


GOSTEI 0
POSTAR