解决单位交叉参考问题

时间:2015-05-01 15:13:19

标签: delphi

我创建了第一个具有基本类定义的单元,如

unit_classtype;
type 
TMyClass = class(..)
     .....
end;

end.

在第二个单元中,我为第一个单元存储了很多辅助函数

unit_classtype_helper; 

uses  unit_classtype;

    procedure WriteMyClasstoStringlist (aStringlist : TStringlist; aClass : TMyClass);


implementation

    procedure WriteMyClasstoStringlist (aStringlist : TStringlist; aClass : TMyClass);
begin
   aStringlist.add ('info on my Class', MyClass.Data );
   ....
end;

现在我想构建一个MycLass.savetoFile函数并使用WriteMyClasstoStringlist中的代码,但由于交叉引用,我无法在类定义单元中包含helpunit。

转移代码是没有选择的,我需要一些其他解决方案

1 个答案:

答案 0 :(得分:3)

我现在问你要在接口部分包含这两个单元,但是在unit_classtype_helper的实现中只需要unit_classtype所以组织你的代码如下:

unit unit_classtype;

interface

type 
  TMyClass = class(..)
     .....
  end;

implementation

uses
  unit_classtype_helper;
...
end.