在线求助,请高手帮忙!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
end;
TMyClass = class
Public
FMember1 : Integer;
FMember2 : Integer;
FMember3 : WORD;
FMember4 : Integer;
Procedure Method();
End;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Obj : TMyClass;
begin
Obj := TMyClass.Create();
with memo1.Lines do
begin
Add('对象大小:' + IntToStr(Obj.InstanceSize));
Add('对象所在地址 :' + IntToStr(Integer(Obj)));
Add('FMember1所在地址:' + IntToStr(Integer(@Obj.FMember1)));
Add('FMember2所在地址:' + IntToStr(Integer(@Obj.FMember2)));
Add('FMember3所在地址:' + IntToStr(Integer(@Obj.FMember3)));
Add('FMember4所在地址:' + IntToStr(Integer(@Obj.FMember4)));
end;
Obj.Free();
end;
{ TMyClass }
procedure TMyClass.Method;
begin
//no code
end;
end.
上面这段代码是《delphi高手突破》光盘上的一个例子
可是我在delphi7.0上不能运行
错误信息是
[Warning] Unit1.pas(42): Unsafe typecast of 'TMyClass' to 'Integer'
[Warning] Unit1.pas(43): Unsafe code '@ operator'
[Warning] Unit1.pas(44): Unsafe code '@ operator'
[Warning] Unit1.pas(45): Unsafe code '@ operator'
[Warning] Unit1.pas(46): Unsafe code '@ operator'
请问,这是为什么?????能不能解决??怎么解决??
谢谢,我刚开始学这个,不大懂,请各位大哥大姐帮忙!!!!谢谢