2

Delphiでクラスシステムを構築しようとしました。クラスTFieldSpecTTableSpecは、オブジェクトのプロパティを介して相互に参照します。

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 に答える