我想在自己的类中使用动态数组或动态内存
type 
  myclass=class
   public
    a: array of integer;
    b: pinteger;
  end;
....
var
  mc: myclass;
begin
  setlength(a,100);
  Getmem(b,100);
end;
  出现问题,不知应该怎样定义。另外,若b指针的第10个整数如何取得? 请高手指教 谢谢

解决方案 »

  1.   

    var
      mc: myclass;
    begin
      setlength(a,100);
      Getmem(b,100);
    end;不能这么写呀,似乎应该是:
    var
      mc:myclass;
      mc:=myclass.create;
    begin
     ...
     ...
    end;
      

  2.   

    var
      mc: myclass;
    begin
      mc.create;
      setlength(a,100);//出问题的地方在此行
      Getmem(b,100);
    end;
      

  3.   

    to uoyevoli(爱什么呢?) :
       好像可以   请问为什么用tmyclass.create,而不能用mc.create? 哪个地方有讲?thanks
      

  4.   

    tmyclass.create是指一个type的创建啊!!
    mc是你自己设的一个变量名称!!
    你要不用类,这样可以用它的构造函数!