Предварительное объявление классов

А предварительное описание классов со времен сборки 3.0.0.1110 менялось? А то я пытаюсь в одном из классов вызвать конструктор другого, предварительно описанного, а мне говорят что ни один конструктор не найден. Сейчас обновиться не смогу, только когда в Москву вернусь. Но суть в том что пытаюсь создать древовидную структуру и нужна циклическая зависимость классов, интеллисенс поля класса видит, а скомпилировать все это не получается.

Нет не поменялось. Возвращайтесь и приводите код.

Попробую не возвращаясь минимальный воспроизводимый с телефона написать.

program recursiveReferenceTest;

type anotherClass = class
end;

otherClass=class;

someClass = class
otherRef:otherClass;
constructor create(another: anotherClass);
begin
self.otherRef:=new otherClass(another);//на эту строку ругается
end;
end;

otherClass = class
someRef:someClass;
constructor create(another: anotherClass);
begin
self.someRef:= new someClass(another);
end;
end;

begin
end.

Вроде все, на этом проверил - воспроизводится. Извините за отсутствие форматирования - печатал вручную, а с телефона очень неудобно пользоваться форумом. Спасибо.

А, ну - понятно. Можно пользоваться только именем предописанного класса, но не какими-то его специфическими функциями. Вынесите описание всех методов за тело класса - и всё получится

А сам конструктор тоже так вынести можно? Или это будет просто метод, возвращающий экземпляр класса, внутри которого используется пустой конструктор? Не слишком ли это костыль?

@cergean

type anotherClass = class
end;

otherClass=class;

someClass = class
  otherRef:otherClass;

  constructor create(another: anotherClass);
end;

otherClass = class
  someRef:someClass;

  constructor create(another: anotherClass);
  begin
    self.someRef:= new someClass(another);
  end;
end;

constructor someClass.create(another: anotherClass);
begin
  self.otherRef:=new otherClass(another);
end;

begin
end.

Пишите, пожалуйста, с отступами.

Спасибо большое за код, сегодня продолжу значит заниматься своим проектом. По поводу отступов - еще раз извиняюсь за неотформатированный код - но это был не copy-paste из IDE, а набор вручную с телефона. Интерфейс ввода нового сообщения на маленьком экране кстати - вырвиглазный. Была бы тут такая же кнопка форматирования кода (это не просьба ее добавить, если что), как в среде, я бы его отформатировал. А вручную очень неудобно, все равно бы некрасиво получилось.