Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.07;
Скачать: 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 вся ветка

Текущий архив: 2005.08.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
1-1121773327
Juice
2005-07-19 15:42
2005.08.07
MDI приложение, работа с формами


6-1114630971
DimDim
2005-04-27 23:42
2005.08.07
С какого компьютера запущена программа?


5-1090750729
MSTX
2004-07-25 14:18
2005.08.07
Рисование на TButton


14-1121526833
Kerk
2005-07-16 19:13
2005.08.07
Почему при использовании файрвола...


14-1121163327
Vovchik_A
2005-07-12 14:15
2005.08.07
Terrasoft CRM