在线求助,请高手帮忙!

killme2008 2003-09-11 12:32:11
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'


请问,这是为什么?????能不能解决??怎么解决??
谢谢,我刚开始学这个,不大懂,请各位大哥大姐帮忙!!!!谢谢
...全文
65 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
killme2008 2003-09-11
  • 打赏
  • 举报
回复
帮帮忙啊
killme2008 2003-09-11
  • 打赏
  • 举报
回复
以什么标准来衡量是不是不安全操作???
hongqi162 2003-09-11
  • 打赏
  • 举报
回复
不安全的操作!!!

嘻嘻!~~~~~~~~

我的英语不太好!!!
FlyAnyWhere 2003-09-11
  • 打赏
  • 举报
回复
应该是你系统的问题
killme2008 2003-09-11
  • 打赏
  • 举报
回复
确实可以了,非常感谢
我想是我在某个地方搞错了
那能不能帮我解释一下unsafe code在d7里是个什么概念??????
killme2008 2003-09-11
  • 打赏
  • 举报
回复
好的
我试试,谢谢啊
yown 2003-09-11
  • 打赏
  • 举报
回复
可以运行于D7
hongqi162 2003-09-11
  • 打赏
  • 举报
回复
你重新创建一个工程试一试!如果还有问题!可能是你的delphi有问题!
killme2008 2003-09-11
  • 打赏
  • 举报
回复
难道是我的系统问题??????????
hongqi162 2003-09-11
  • 打赏
  • 举报
回复
是不是你别的地方有问题!
hongqi162 2003-09-11
  • 打赏
  • 举报
回复
在D7上没有问题;显示结果是:
对象大小:20
对象所在地址 :10125044
FMember1所在地址:10125048
FMember2所在地址:10125052
FMember3所在地址:10125056
FMember4所在地址:10125060
killme2008 2003-09-11
  • 打赏
  • 举报
回复
没有人来??自己顶一下,帮帮忙啊

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧