type
TTestClass = class
private
FRect: TRect;
procedure SetRect(const Value: TRect);
public
property Rect: TRect read FRect write SetRect;
end; TForm1 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public end;var
Form1: TForm1;implementation
{$R *.dfm}{ TTestClass }procedure TTestClass.SetRect(const Value: TRect);
begin
FRect := Value;
end;procedure TForm1.btn1Click(Sender: TObject);
var
a: TTestClass;
begin
a := TTestClass.Create;
a.Rect.Left := 10;//为什么不行
a.Free;
end;procedure TForm1.btn2Click(Sender: TObject);
var
a: TTestClass;
b: TRect;//这样弄好烦哦
begin
a := TTestClass.Create;
b.Left := 10;
a.Rect := b;
a.Free;
end;
TTestClass = class
private
FRect: TRect;
procedure SetRect(const Value: TRect);
public
property Rect: TRect read FRect write SetRect;
end; TForm1 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public end;var
Form1: TForm1;implementation
{$R *.dfm}{ TTestClass }procedure TTestClass.SetRect(const Value: TRect);
begin
FRect := Value;
end;procedure TForm1.btn1Click(Sender: TObject);
var
a: TTestClass;
begin
a := TTestClass.Create;
a.Rect.Left := 10;//为什么不行
a.Free;
end;procedure TForm1.btn2Click(Sender: TObject);
var
a: TTestClass;
b: TRect;//这样弄好烦哦
begin
a := TTestClass.Create;
b.Left := 10;
a.Rect := b;
a.Free;
end;
begin
FRect := Value;
end;frect := Value 不可以的了