const
  VCLClasses : array [0..3] of TPersistenClass = (TButton,TImage,TMainMenu,TLabel);

解决方案 »

  1.   

    看来你还真不得不一个一个赋值,因为你定义的是动态数组,在你没有用Setlength给它设置维数之前,也同样没有给它分配内存空间。
      

  2.   

    数组常量只能是静态数组,不能是动态数组。
    动态数组必需先用SetLength分配内存,然后初始化,但它是个常量...
    我不明白,即然是常量,你也就不会去改变它,用静态数组有什么问题吗?
    还有,数组初始化应该用(),而不是[]。
      

  3.   

    集合显然不可以的,因为集合元素非顺序类型不可,而我不是顺序类型。
    不一定是常量,变量也可以呀,只要将TButton,TImage,TLabel等做到一个
    不用知道大小的数组里即可,静态数组不是每次都一个一个数元素个数,然后写var x: array [0..3] of array = (TButton,...)这样写么。
    麻烦!