Форум: "Начинающим";
Текущий архив: 2011.10.02;
Скачать: [xml.tar.bz2];
ВнизИспользование модулей в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c