Форум: "Основная";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
ВнизДирективы компилятору Найти похожие ветки
← →
Yurikon (2007-10-01 13:50) [0]Здраствуйте!
Подскажите, плиз, как объявить в главном юните директиву компилятору (например {$DEFINE QQQ})так, чтобы она была доступна в юнитах, которые ссылаются на главную?
← →
Palladin © (2007-10-01 13:55) [1]Стандартный подход.
Создается файл (напрмер appDefs.inc) где описываются все определения. Далее в каждом юните прописывается {$I appDefs.inc}
← →
Юрий Зотов © (2007-10-01 14:10) [2]Объявить ее в опциях проекта.
← →
Anatoly Podgoretsky © (2007-10-01 14:16) [3]> Yurikon (01.10.2007 13:50:00) [0]
Ни как, директива действует только на модуль и не наследуется другими модулями.
← →
Yurikon (2007-10-01 15:50) [4]
> Юрий Зотов © (01.10.07 14:10) [2]
> Объявить ее в опциях проекта.
Спасибо, Юрий! Именно этого я и хотел, но не знал как сделать.
← →
evvcom © (2007-10-01 16:31) [5]
> Yurikon (01.10.07 15:50) [4]
Как бы тебе странным это не показалось, но все 3 ответа были верными. Почему не поблагодарил остальных? Видимо, у Юрия телепатор оказался самым телепаторным :)
← →
Германн © (2007-10-01 16:44) [6]
> evvcom © (01.10.07 16:31) [5]
>
>
> > Yurikon (01.10.07 15:50) [4]
>
> Как бы тебе странным это не показалось, но все 3 ответа
> были верными.
Неправда. Верным был только [3]. Остальные не соответствовали букве сабжа. :-)
← →
TStas © (2007-10-01 21:11) [7]>Юрий Зотов А можете немножко подробнее? Мне тоже интересно.
← →
Юрий Зотов © (2007-10-01 23:25) [8]> TStas © (01.10.07 21:11) [7]
А чего там подробного? Просто пишем свои директивы (через точку с запятой) в диалоге опций проекта (вкладка Directories/Conditionals, поле Conditional defines), а потом в любом юните можем писать IFDEF/IFNDEF.
← →
evvcom © (2007-10-02 09:10) [9]
> TStas © (01.10.07 21:11) [7]
[8] - я такое использую, когда один юнит цепляется к более, чем одному проекту. Если же проект один, то вкл/откл условий, имхо, лучше делать как в [1]
> Германн © (01.10.07 16:44) [6]
Согласен. Но я тоже включил свой телепатор и решил, что моя шутка такого вида не будет оценена автором :)
← →
Юрий Зотов © (2007-10-02 11:21) [10]> evvcom © (02.10.07 09:10) [9]
> когда один юнит цепляется к более, чем одному проекту.
> Если же проект один, то вкл/откл условий, имхо, лучше делать как в [1]
И в одном бывает полезно. Например, для подключения отладочного кода, или для компиляции демо-версии, или...
← →
evvcom © (2007-10-02 12:14) [11]
> Например, для подключения отладочного кода, или
Я и не говорил, что [1] - единственно правильное решение. Можно и [8], не возражаю. Я написал "имхо, лучше", т.е. мне удобнее в этом случае [1], т.к. можно открыть в многострочном редакторе *.inc файл и иметь его всегда под рукой. Удобно и наглядно.
← →
Германн © (2007-10-02 12:26) [12]
> Юрий Зотов © (02.10.07 11:21) [10]
>
> И в одном бывает полезно.
Жаль только, что IDE не имеет инструмента, позволяющего автоматом отразить набор этих директив, например в Version Info.
← →
Инс © (2007-10-02 12:42) [13]
> Германн © (02.10.07 12:26) [12]
Думаю, IDE имеет инструмент, позволяющий в случае необходимости сделать такой инструмент. ToolsAPI называется ;-)
← →
Суслик © (2007-10-02 12:54) [14]свинство в том, что не все директивы можно указать в диалоге с опциями проекта в д2007
например {$inline } можно только способом [1] сделать
← →
Германн © (2007-10-02 13:17) [15]
> Инс © (02.10.07 12:42) [13]
>
>
> > Германн © (02.10.07 12:26) [12]
>
> Думаю, IDE имеет инструмент, позволяющий в случае необходимости
> сделать такой инструмент. ToolsAPI называется ;-)
>
Да мое имя Сергей. И фамилия моя тоже птичья. Но увы. :-(
← →
Инс © (2007-10-02 13:29) [16]
> Германн © (02.10.07 13:17) [15]
Блин, ну и загадками же Вы говорите! :) Не сразу понял...
← →
Германн © (2007-10-02 13:45) [17]
> Инс © (02.10.07 13:29) [16]
>
>
> > Германн © (02.10.07 13:17) [15]
>
> Блин, ну и загадками же Вы говорите! :) Не сразу понял..
> .
>
А иначе жизнь была бы скучная и серая :-)
← →
TStas © (2007-10-02 21:41) [18]Вот я так и подумал, что не в модулях, а в project > Options... А то сначала сдуру подумал, что в файле проекта, он же тоже везде доступен. :)
← →
Юрий Зотов © (2007-10-02 23:38) [19]> TStas © (02.10.07 21:41) [18]
Наоборот, он не доступен ни в одном юните.
← →
Германн © (2007-10-02 23:55) [20]
> TStas © (02.10.07 21:41) [18]
>
> Вот я так и подумал, что не в модулях, а в project > Options.
> .. А то сначала сдуру подумал, что в файле проекта, он же
> тоже везде доступен. :)
>
Имхо ноги сабжа выросли из турбо паскаля. Там чтобы объявить директиву действующую во всех юнитах программы, следовало её объявить в главном юните.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c