2

我试图在 Delphi 中构建一个类系统。这些类通过对象属性TFieldSpec相互TTableSpec引用。

type
  TFieldSpec=class(Tobject)
  private
    FTableSpec : TTableSpec;
  public
    property TableSpec : TTableSpec read FTableSpec;
  end;

  TTableSpec=class(Tobject)
  private
    FFields : array[1..100] of TFieldSpec;
  end;

当我编译这个时,我得到这个错误:

[Error] Objects.pas(66): Undeclared identifier: 'TTableSpec'

如何构造这些类类型?

4

1 回答 1

10

您应该使用前向声明TTableSpec

type
  TTableSpec = class;

  TFieldSpec=class(Tobject)
  private
    ..
    FTableSpec : TTableSpec;
    ..
  end;

  TTableSpec=class(Tobject)
  private
    FName : string;
    ..
  end;
于 2012-10-13T05:59:20.790 回答