Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.02;
Скачать: CL | DM;

Вниз

Использование модулей в Uses   Найти похожие ветки 

 
Gu   (2011-06-11 00:51) [0]

Может кто-нибудь объяснить, сильно ли отличается использование дополнительных модулей (речь идет о модулях проекта) в разделе USES после Interface и после Implementation. Какие отличия и где лучше вставлять? Например есть основная форма (unit1), дополнительная (unit2) и просто unit3 (без формы). unit2 вставляется автоматом в uses после Implementation, если на него сослаться в любой процедуре unit1; а вот куда правильно вставлять unit3, если из него нужны функции в unite1 и unit2 - в какой из uses, при этом в unit3 используются функции unit2 - там как быть (в unit3 - куда вставлять unit2)?


 
Германн ©   (2011-06-11 00:58) [1]

По возможности в Implementation, дабы не было Circular References.
В Interface только тогда, когда именно в этой секции есть ссылки на переменные или типы объявленные в другом модуле.


 
Gu   (2011-06-11 02:04) [2]

Спасибо


 
Германн ©   (2011-06-11 02:22) [3]


> Gu   (11.06.11 02:04) [2]
>
> Спасибо
>

Да собственно не за что.
Тут требование одно - не должно быть перекрестных ссылок на модули в секции Interface. Ибо компилятор Дельфи сможет скомпилировать модуль A, в секции Interface uses которого указан модуль B, только после того как модуль B будет скомпилирован. Но если в модуле B в секции Interface uses указан модуль A, то возникает бесконечная рекурсия, которая вызывает ошибку компиляции.
Секции uses в Impementation таким пороком не страдают.


 
Anatoly Podgoretsky ©   (2011-06-11 12:44) [4]

Правило простое, все в Implementation, если нет противопоказаний


 
Dimka Maslov ©   (2011-06-11 23:14) [5]

модуль с глобальными определениями у всех в интерфаце, остальные спокойно подключаются друг к другу в имплементатион


 
Германн ©   (2011-06-12 01:58) [6]


> Dimka Maslov ©   (11.06.11 23:14) [5]
>
> модуль с глобальными определениями у всех в интерфаце, остальные
> спокойно подключаются друг к другу в имплементатион

Идеальный вариант для констант и типов специфичных для данного проекта или для группы проектов. Но не дай боже обозвать сей модуль первым напрашивающемся на язык именем Consts :)


 
Dimka Maslov ©   (2011-06-12 09:34) [7]


> Идеальный вариант для констант и типов специфичных для данного
> проекта или для группы проектов. Но не дай боже обозвать
> сей модуль первым напрашивающемся на язык именем Consts
> :)


Обзывать самонаписанное именами стандартных вещей - преступление.


 
Игорь Шевченко ©   (2011-06-12 11:30) [8]

icarus рулит

hhtp://www.peganza.com


 
Юрий Зотов ©   (2011-06-12 14:17) [9]

На мой взгляд, зря Борланд разрешил uses в implementation. В TP этого не было, что заставляло лучше продумывать структуру программы.



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

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

Наверх




Память: 0.49 MB
Время: 0.007 c
15-1307584738
brother
2011-06-09 05:58
2011.10.02
Обновление прошивки в DI-804HV сбросятся ли настройки?


2-1307887116
Geo
2011-06-12 17:58
2011.10.02
Выбор средств для построения отчетов


2-1308231708
@!!ex
2011-06-16 17:41
2011.10.02
TPageControl не получается сделать OwnerDraw


2-1308121329
mefodiy
2011-06-15 11:02
2011.10.02
Разница между TIdAttachment и TIdAttachmentFile


15-1307087801
Dennis I. Komarov
2011-06-03 11:56
2011.10.02
Воду заказывали?