Не может заставить объявление класса переадресации работать в Delphi 2010

Я абсолютно не мог получить объявления класса переадресации в Delphi 2010. Я прочитал документы, читайте в сети, и возможно я - идиот, но я просто не могу заставить ничего компилировать. Любая справка в широком масштабе ценилась бы!

Я поднял эти два mickey класса мыши. Уверенный я знаю, что им нужны конструкторы и т.д. для фактической работы, его просто демонстрация для проблемы, которую я имею.

У меня есть класс MyParent, который содержит TList моего другого класса MyChild. Это прекрасно. Но затем в 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.

Я должен создать предописание прежде оба, они классифицируют, но абсолютно не может получить что-либо движение. Заранее спасибо любому склонному выручить меня.

7
задан Jonathan Leffler 26 January 2010 в 02:05
поделиться

2 ответа

@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.

Для получения дополнительной информации вы можете увидеть эту ссылку в Delphibasics

13
ответ дан 6 December 2019 в 06:50
поделиться

Прежде чем объявлять MyChild, поставьте: MyParent = Class; , а затем объявить михильд. Затем объявите MyParent должным образом. И не повторно используйте тип ключевое слово . Он обозначает блок декларации типа, а не индивидуальный декларацию типа, а объявление пересылки класса работает только в одном блоке.

13
ответ дан 6 December 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: