Главная страница
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.046 c
9-1113934613
HPR
2005-04-19 22:16
2005.08.07
микширование звуков


14-1121761290
cyborg
2005-07-19 12:21
2005.08.07
Можно как нибудь найти или дать знать по Wi-Fi?


1-1121768614
Karluha
2005-07-19 14:23
2005.08.07
Неиспользуемые модули


14-1121336338
Тульский
2005-07-14 14:18
2005.08.07
Стандартные пиктограммы Win2k


1-1121533517
TStas
2005-07-16 21:05
2005.08.07
Как зависит скорость выполнения потока от его приоритета?