Форум: "Основная";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
ВнизНа этапе компиляции определить подключен или нет модуль Найти похожие ветки
← →
DmitriyG (2008-11-26 16:45) [0]Можно ли на этапе компиляции определить подключен ли определенный модуль. Т.е. хочется, используя что типа $IFDEF определять подключен ли к проекту модуль и в зависимости от этого вызывать или не вызывать функции из этого модуля.
Определять Define в самом проекте не устраивает... Может есть какая нибудь хитрая директива компилятора, или может как нибудь можно увидеть из модуля define, определенный в другом модуле?
← →
Поросенок Винни-Пух © (2008-11-26 16:50) [1]что-то не так в дизайне консерватории. зачем вообще такое может понадобиться?
← →
Сергей М. © (2008-11-26 17:01) [2]юнит A:
uses B
{$IFDEF SomeCondDefinition}
.. do something ..
{$ENDIF}
юнит B:
{$DEFINE SomeCondDefinition}
Оно ?
← →
DmitryG. (2008-11-26 21:55) [3]Оно было, бы если бы Define между unit"ами виделись
А понадобится может на случай распространения исходного текста программы с некоторыми ограничениями при этом не меняя фактически исходников, а просто выкидывая необходимые модули (которые являются например платным или не нужными для конкретного пользователя)
← →
Сергей М. © (2008-11-26 23:17) [4]
> просто выкидывая необходимые модули (которые являются например
> платным или не нужными для конкретного пользователя)
А что, конкретный пользователь тебе прямо так и говорит, мол, "мне то не нужно, мне сё не нужно, собери мне проект без таких-то конкретных юнитов"
??
← →
DmitryG. (2008-11-26 23:21) [5]Нет, все скажем так наоборот. Одни пользователям отдаются исходники с одной функциональностью, другим с другой.... Просто некоторым пользователям не имеет смысла отдавать некоторые модули
← →
Сергей М. © (2008-11-26 23:31) [6]Ползователям, которым отдаются исходники, сами разберутся, что им надо , а что не надо.
← →
Anatoly Podgoretsky © (2008-11-26 23:38) [7]> DmitryG. (26.11.2008 23:21:05) [5]
inc файл с нужными определениями.
← →
Сергей М. © (2008-11-26 23:44) [8]
> inc файл с нужными определениями
Эт точно (с)
А в нем - все нужные дефиниции со всеми нужными комментариями.
А на эти дефиниции равняются все прочие юниты в составе кода, впариваемого пользователю.
← →
Германн © (2008-11-27 01:57) [9]
> Anatoly Podgoretsky © (26.11.08 23:38) [7]
>
> > DmitryG. (26.11.2008 23:21:05) [5]
>
> inc файл с нужными определениями.
>
Истина старая, как и сам мир Паскаля.
← →
Юрий Зотов © (2008-11-27 13:17) [10]> DmitriyG (26.11.08 16:45)
> Можно ли на этапе компиляции определить подключен ли определенный
> модуль.
ПЕРЕД компиляцией - можно (надо написать эксперт IDE с реализацией IOTANotifier.BeforeCompile). Но на сам компилятор это никак не повлияет.
← →
DmitryG. (2008-11-27 23:20) [11]Получается, действительно, что только inc файл....
← →
Германн © (2008-11-28 01:40) [12]
> DmitryG. (27.11.08 23:20) [11]
>
> Получается, действительно, что только inc файл....
>
Ну и? Этот вариант тебя чем-то не устраивает?
← →
KilkennyCat © (2008-11-28 02:53) [13]
> Сергей М. © (26.11.08 23:17) [4]
>
> А что, конкретный пользователь тебе прямо так и говорит,
> мол, "мне то не нужно, мне сё не нужно, собери мне проект
> без таких-то конкретных юнитов"
>
Я всеръез рассматривал такое, как вариант продажи программы с различной функциональностью.
← →
DmitryG. (2008-11-28 11:13) [14]Да не хотелось ради пары дефайнов делать еще один файл :-) Собственно и все...
← →
KSergey © (2008-11-28 14:50) [15]> KilkennyCat © (28.11.08 02:53) [13]
> Я всеръез рассматривал такое, как вариант продажи программы
> с различной функциональностью.
Если не вести речь об отдаче исходников - то, по-моему, проще плагины.
← →
Michael (2008-11-28 15:09) [16]
> Если не вести речь об отдаче исходников - то, по-моему,
> проще плагины.
Плугины вполне должны подойти, даже с условием отдачи исходников.
← →
Jeer © (2008-11-28 16:18) [17]Хм.. отдавать исходники и отвечать за изменение их последствий ?
"Планета обезьян" (С)
← →
Anatoly Podgoretsky © (2008-11-28 16:58) [18]> Jeer (28.11.2008 16:18:17) [17]
Отвечать не надо, а отдавать можно и нужно, злобные Буратино будут приносить по 5 золотых.
← →
KSergey © (2008-11-28 17:12) [19]> Michael (28.11.08 15:09) [16]
> Плугины вполне должны подойти, даже с условием отдачи исходников.
Ну хотя да, я чета не додумал. При условии что плугины - самостоятельные полностью проекты, а основной и без них собирается. А иначе - и не плугины :)
← →
KilkennyCat © (2008-11-28 19:28) [20]С плагинами вовсе не проще.
← →
kami © (2008-11-28 21:09) [21]> [3] DmitryG. (26.11.08 21:55)
> Оно было, бы если бы Define между unit"ами виделись
Для этого есть Conditional defines в опциях проекта. Чем они не устраивают?
С учетом
> распространения исходного текста программы , а не просто модулей.
← →
DmitriyG. © (2008-11-29 13:37) [22]Conditional defines немного не удобно, необходимо пользователя, так сказать обязать их прописывать...
← →
Leonid Troyanovsky © (2008-11-29 15:00) [23]
> DmitriyG. © (29.11.08 13:37) [22]
> Conditional defines немного не удобно, необходимо пользователя,
> так сказать обязать их прописывать...
Ну, снабди его набором make files.
--
Regards, LVT.
← →
DmitryG. (2008-11-30 16:31) [24]Make files? Это интересно, если честно не знал что в Delphi есть....
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.006 c