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

Вниз

На этапе компиляции определить подключен или нет модуль   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.009 c
15-1254694926
Германн
2009-10-05 02:22
2009.12.06
Планировщик Windows


1-1227699997
leonon
2008-11-26 14:46
2009.12.06
#ИМЯ? вместо функции при загрузке книги Excel


2-1256030156
Л.Д.
2009-10-20 13:15
2009.12.06
Поиск в бд


15-1255027446
Piter
2009-10-08 22:44
2009.12.06
Word не может открыть файл более 32 MB?


2-1255623783
Nucer
2009-10-15 20:23
2009.12.06
Пустая ли строка