例如有对象;
type
TMyclass1 = class()
FID string;
FName string;
protected
procedure setID(AValue: string);
procedure setName(AValue: string);
public
property ID string read FID write setID;
property Name string read FName write SetName;
end;现在我想根据一个字符串的值(‘ID’,'Name')来设置类型的属性值;有没有办法啊?procedure setMyclassProperty(var AValue: string);
begin
TMyclass.setproperty('ID','IDValue');
end;
type
TMyclass1 = class()
FID string;
FName string;
protected
procedure setID(AValue: string);
procedure setName(AValue: string);
public
property ID string read FID write setID;
property Name string read FName write SetName;
end;现在我想根据一个字符串的值(‘ID’,'Name')来设置类型的属性值;有没有办法啊?procedure setMyclassProperty(var AValue: string);
begin
TMyclass.setproperty('ID','IDValue');
end;
{$M+}
TMyclass1 = class
private
FID: string;
FName: string;
protected
procedure SetID(AValue: string);
procedure setName(AValue: string);
published
property ID: string read FID write SetID;
property Name: string read FName write SetName;
end;
{$M-}{ TMyclass1 }procedure TMyclass1.SetID(AValue: string);
begin
FID := AValue;
end;procedure TMyclass1.setName(AValue: string);
begin
FName := AValue;
end;procedure TForm1.Button1Click(Sender: TObject);
var
vMyclass1: TMyclass1;
begin
vMyclass1 := TMyclass1.Create;
SetPropValue(vMyclass1, 'ID', 'Zswang');
ShowMessage(vMyclass1.ID);
SetPropValue(vMyclass1, 'Name', '路过');
ShowMessage(vMyclass1.Name);
vMyclass1.Free;
end;
我记得是RTTI的某个事件;
以为是setproperty;找了半天没找到;
忘记是在那个类里实现的了;^_^;
给分了。