我试图在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'
如何构建这些类类型?
答案 0 :(得分:10)
您应该使用TTableSpec
的正向声明:
type
TTableSpec = class;
TFieldSpec=class(Tobject)
private
..
FTableSpec : TTableSpec;
..
end;
TTableSpec=class(Tobject)
private
FName : string;
..
end;