类的只读属性形同虚设?
代码如下,只读属性的值还是被修改了!算是“漏洞”吧?
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
Fa: Integer;
public
{ Public declarations }
property a: Integer read Fa;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(IntToStr(a))
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
PInteger(@a)^ := 123;{通过指针方式修改只读属性的值}
end;