Вниз
Скачать: CL | DM;

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

← →
Zak3D[@Tm] ©   (2005-07-14 17:28) [0]

Наверно всем известна ситуация, когда в два модуля приложения ссылаются друг на друга(это простой случай), либо когда два модуля ссылаются друг на друга неявно(здесь отследить перекрытие сложнее).
Делфи ругается на такое перекрытие вот такими словами -
[Fatal Error] Unit.pas(5): Circular unit reference to "Unit"
Так вот, я знаю что в С++ такая ситуация не возникает и там можно в одном модуле описать все остальные и потом только ссылаться на этот модуль.
Рельно ли реализовать такое в Делфи? Есть ли какая-либо альтернатива такому объявлению?.
Как бороться с такими ситуациями? (следить не предлагать, только таким методом и пользуюсь =))
Заранее благодярен.


← →
begin...end ©   (2005-07-14 17:32) [1]

Для устранения ошибки можно разделить объявления -- например, в первом модуле вписать второй модуль в список uses раздела interface, а во втором модуле ссылку на первый поместить в implementation. Но всё же лучше вынести общие части в отдельный модуль, на который и ссылаться в тех модулях, где это необходимо.


← →
ANB ©   (2005-07-14 17:51) [2]

Если нет особой необходимости, лучше всегда подключать модули в разделе implementation. И вовремя выносить общие части по объявлению типов в отдельный модуль. Кстати, зацикливание инклудов в си иногда приводит к еще более печальным последствиям.


← →
Vadik   (2005-07-15 10:04) [3]

Zak3D[@Tm], а как ты отслеживаешь перекрытие? Я вот столкнулс с такой задачей и решил найти средство для поиска таких проблем. Если не найду, то придеся писать самому. Может что посоветуешь? в Model Makere есть такая возможность? Или где еще?


← →
Zak3D[@Tm] ©   (2005-07-15 12:08) [4]

Vadik
Ну в ошибке ведь есть ссылка на модуль виновный в перекрытии, и первым делом я смотрю туда =).
Т.к. компилирую приложение я часто, то мне не особо сложно отследить перекрытие, да и ведь я знаю структуру своей программы и поэтому при возникновении перекрытия сразу появляются какие-то мысли/догадки - где это могло произойти.
А способа с этим бороться как видишь из этой ветки я не нашёл =(.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
14-1121252908
ИИ
2005-07-13 15:08
2005.08.07
Посоветуйте игрушки


1-1121686069
Salik
2005-07-18 15:27
2005.08.07
StringGrid


1-1121664185
Viktop
2005-07-18 09:23
2005.08.07
Поиск вхождения всех строк в указанную


14-1121345562
Almaz
2005-07-14 16:52
2005.08.07
"Вера" - однозначно ли это понятие ?


1-1121821000
asprofi
2005-07-20 04:56
2005.08.07
Вот дописал свой видео плеер "AV Player v.1.3"




   Наверх