我在一个自定义组件中,定义了一个新类型Type 
  TMyByteArray=Array of Byte;, 然后组件中定义一个函数 function getBytesFromDat(path:string):TMyByteArray;
,现在,我在窗体中拖放入这个组件,于unit1.pas中用同样的代码定义了Type 
  TMyByteArray=Array of Byte;
var
  bytes:TMyByteArray;
begin
  bytes:=我的组件.getBytesFromDat(path); 
  //这里报错说类型不一致,因为这个TMyByteArray不同于组件中的TMyByteArray
end;
其实两个TMyByteArray是一样的,只不过在两个PAS中定义了,这种情况,应该怎么解决呢?

解决方案 »

  1.   

    把组件单元中,数组申明部分抽取独立为一个单元文件,让组件单元和使用该组件的窗口单元,都Use该申明单元。你的问题应该是因为某些Dephi语言基础概念不清楚造成的。
      

  2.   

    谢谢楼上的两位。按二楼的方法,每次用到那个组件,都要添加那个声明Type的pas文件? 这样的话,组件的“封装性”不是没有了吗?