无法在Delphi 2010中获得前瞻性声明

时间:2010-01-26 01:33:05

标签: delphi

我完全无法在Delphi 2010中获得类声明。我已经阅读了文档,在网上阅读,也许我是一个白痴,但我无法得到任何编译。任何帮助都会受到大力赞赏!

我已经敲了这两个米老鼠班。当然我知道他们需要构造函数等来实际工作,它只是我正在解决的问题的演示。

我有MyParent类,其中包含我其他类MyChild的TList。没关系。但是在MyChild中,我希望能够设置对其父对象的引用,而不是TList,而是我的MyParent类。

unit ForwardClassDeclarationTest;

interface

uses generics.collections;        

type
  MyChild = Class
  private
    ParentObect:MyParent;   <--I need to be able to make this accessable
  public
End;

type
  MyParent = Class
  public
    tlChildren:TList<MyChild>;
End;

implementation

end.

我需要在这两个课程之前创建一个前向声明,但我完全无法得到任何结果。提前感谢任何倾向于帮助我的人。

2 个答案:

答案 0 :(得分:13)

@csharpdefector试试这段代码

uses
  Generics.Collections;

type
   MyParent = Class;   // This is a forward class definition

  MyChild = Class
  private
    ParentObect:MyParent;
  public
  End;

  MyParent = Class // The MyParent class is now defined
  public
    tlChildren:TList<MyChild>;
  end;

implementation

end.

有关详细信息,您可以在link

中看到此delphibasics

答案 1 :(得分:13)

在宣布MyChild之前,请输入:MyParent = class;然后声明MyChild。然后正确声明MyParent。并且不要重复使用类型关键字。它表示一个类型声明块,而不是单个类型声明,而类前向声明​​只能在同一个块内工作。