就是类似于C++里
class classA
{
};
classA *s;
……
……
s=new classA[n];
……
那种东西。
用AllocMem是不行的,对象初始化没有进行。

解决方案 »

  1.   

    Delphi里面class不是都有一个Create方法吗?
      

  2.   

    这就是Delphi和C++的不同C++的对象可以在堆栈中分配,即你只要声明一个对象变量,编译槑马上就分配了指定内存,就象我们平常声明了一个基本变量一样,马上就可以使用。
    而另一种声明对象的方法是在堆中生成,指声明对象指针,接着用New来分配内存。但Delphi的对象实质上就像C++的对象指针一样,你声明一个对象,还必须用构造函数来分配一块内存,而事实上Delphi的对象就是一个指针,可以和指针进行转换,所以也就没有你所说的动态分配问题。
    所以按你的要求,应该就是先声明一个对象数组,然后在一个循环里面Create对象。
      

  3.   

    嗯,看来不写循环是不行了吗?
    我只是想找个不太没效率的办法……最近在做一个几乎就是C++ -> Delphi的事,总是遇到类似的情况。
    谢谢楼上了。