- Код: Выделить всё
type
TList = Object;
PWidget = ^TWidget;
TWidget = Object
Next : PWidget;
Prev : PWidget;
Child: TList;
end;
PList = ^TList;
TList = Object // Duplicate identifier "TList"
//Forward type not resolved "TList"
Head: PWidget;
Tail: PWidget;
procedure Init();
procedure Append(Elem: PWidget);
procedure Free();
procedure Remove(Elem: PWidget);
end;
Если заменить object на class, опережающее объявление работает. С object'ом нет.
Добавлено спустя 20 минут 49 секунд:
Методом Тыково. Проблему решил.
- Код: Выделить всё
type
PWidget = ^TWidget;
PList = ^TList;
TList = Object
Head: PWidget;
Tail: PWidget;
procedure Init();
procedure Append(Elem: PWidget);
procedure Free();
procedure Remove(Elem: PWidget);
end;
TWidget = Object
Next : PWidget;
Prev : PWidget;
Child: TList;
end;
Так работает.