Здравствуйте vav, Вы писали:
vav>странно, что никто не заступился..
Да никто и не утверждал что так нельзя сделать. Решений то миллиард есть. Просно на самом деле необходимость реализовать объявленный класс до конца модуля на самом деле ничем не обоснована, это и раздражает слегка
А данное решение вещь достаточно бесполезная. Обычно если эти 2 класса не могут друг без друга обходится это значит что не имеет смысла их разделять в разные модули т.к. их все равно сложно по отдельности поюзать. Вот поэтому их просто смело в одном модуле объявляют и не парятся. Вся VCL написана как раз в этом стиле.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте Anatolix, Вы писали:
A>Здравствуйте vav, Вы писали:
A>
vav>>странно, что никто не заступился..
A>Да никто и не утверждал что так нельзя сделать. Решений то миллиард есть. Просно на самом деле необходимость реализовать объявленный класс до конца модуля на самом деле ничем не обоснована, это и раздражает слегка
A>А данное решение вещь достаточно бесполезная. Обычно если эти 2 класса не могут друг без друга обходится это значит что не имеет смысла их разделять в разные модули т.к. их все равно сложно по отдельности поюзать. Вот поэтому их просто смело в одном модуле объявляют и не парятся. Вся VCL написана как раз в этом стиле.
Ну не скажи. Например, в Дельфи — это стандартный ход, когда есть две формы, скажем одна вызывается из другой. А в другой в свою очередь нужны данные из первой. Обе формы в один исходник не запихнешь. А так — пожалуйста.
A>>В pascal если мы предварительно описали класс
A>>мы обязаны его определить до конца модуля.
IT>А по-моему даже жестче... Мы должны развернуть этот forward ДО ОКОНЧАНИЯ БЛОКА type.
Абсолютно точно для Delphi Object Pascal. Сам на это однажды напарывался
Вообще-то это только половина правды.
На самом деле (по крайней мере в VS.NET, я VS6.0 уже подзабыл) для проектов в Solution (то, что выросло из Workspace) можно задать Build Order, не проставляя зависимостей. Другое дело, что такой подход некрасив.
Кстати, забыто, что есть make.
Спасибо за крайне познавательный материал