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;