首页 新闻 会员 周边

Delphi的指针就是垃圾?

0
悬赏园豆:20 [已解决问题] 解决于 2013-10-01 13:34

type
Arec
=record Name:string;
Age:integer;
end;
var
  p: ^Arec;
  i,Num: Integer;

type
  ArrPoint
= array of Arec;

begin

  Num:=4;
  p :
= GetMemory(Num * SizeOf(Arec));

 
for i := 0 to Num-1 do
  begin
    ArrPoint(p)[i].Name :
= '张三'+inttostr(i);
    ArrPoint(p)[i].Age :
=i+30;
    self.Memo1.Lines.Add(ArrPoint(p)[i].Name
+',年龄:'+inttostr(ArrPoint(p)[i].Age));
 
end;
  FreeMemory(p);
end;
     上面的代码可以在delphi 2007下通过并执行,但在delphi 7下只能通过却无法执行,但即使是在delphi 2007下如果将4改成1000,该段代码也无法执行。

     delphi 的指针实在无法恭维,简直就是垃圾!!

向北方的主页 向北方 | 初学一级 | 园豆:154
提问于:2013-08-28 12:19
< >
分享
最佳答案
0
收获园豆:20
黑暗煎饼果子 | 菜鸟二级 |园豆:354 | 2013-09-18 09:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册