Alexander писал(а):Но в принципе вопрос правильный. Надо понять, что мешает разработчикам сделать дефайны в файле проекта глобальными.
Либо это не входит в представления разработчиков о Паскале, либо можно написать как пожелание улучшения или багрепорт.
Сами разработчики выходят из положения через инклюд файл, через переменные окружения и ключи командной строки.
А такого способа не предусмотрели.
Причем, имхо, но это логично, когда в файле проекта определяются общие (глобальные) для проекта define.
Т.к. писать их в Меню - проект - параметры проекта - параметры компилятора - параметры пользователя - Определения
это более чем костылный вариант

или создавать какойто файл который надо не забыть проинклудить в те юниты которые должны оперировать этими дефайнами
Добавлено спустя 6 минут 35 секунд:WAYFARER писал(а):ssnakess писал(а):Grep и find - штуки хорошие, но нафига мне ВСЕ что есть в папках лазаря? )
Список дефайнов проекта, нужен
Т.е. только тех дефайнов, которые описаны в модулях используемых в проекте (в том числе и стандартные типа sysutils, если он подключен)
Единственное что приходит в голову это парсинг, рекурсивно пройти по всем uses и получить полный список файлов.
Если не секрет, то зачем вообще это нужно?
От этих определений зависит многие варианты использования стандартных модулей, поставляемых с лазарусом, и как бы хотелось не копаться в ветвлениях юнитов, а видеть чем я как програмер могу управлять в этих модулях.
Так же Вы ставите какойто новый компонент, и я уверен на 250% что там есть определения - их не мало, а вы о них не сном ни духом

т.е. для того чтобы узнать все возможности какого-то нового компонента, вам надо получается лазить по всем его модулям и выискивать дефайны, и пытаться понять - а нафига он
понятно что не все они будут окоменчены, но вы хотябы будете знать что есть определенный рычаг управления работой модуля
например в SysUtils не все дефайны откомментированны, но есть и с коментами
- Код: Выделить всё
// this target has an fileflush implementation, don't include dummy
{$DEFINE SYSUTILS_HAS_FILEFLUSH_IMPL}
{ used OS file system APIs use ansistring }
{$define SYSUTILS_HAS_ANSISTR_FILEUTIL_IMPL}
{ OS has an ansistring/single byte environment variable API }
{$define SYSUTILS_HAS_ANSISTR_ENVVAR_IMPL}