我做了简单的DEMO,证明delphi_zm的说法是不正确的。
————————————————————————————————————————
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure ChangeCaption(var Button:TButton;Text:string)
end;
var
Form1: TForm1;
Button3: TButton;
implementation
{$R *.DFM}
procedure TForm1.ChangeCaption(var Button: TButton
Text: string);
begin
Button.Caption:=Text;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ChangeCaption(Button3,'Hello,World!');
//下一句会出现内存访问错误,可见button3并未预期的那样产生了实例!!!
showmessage(inttostr(button3.InstanceSize));
end;
end.
————————————————————————————————————————