Условные определения в Delphi ограничены 255 символами. Это означает, что если у вас более 255 символов заданий, они игнорируются. Например.Как преодолеть ограничение на 255 условных обозначений?
Таким образом, набор условных устанавливает:
Win32API;AlarmServerEngineVersion27;ImNotUsingOlderSimpleThread;EnableJclExceptionTracking;SaveExceptionsToDatabase;ShowExceptionForm;SNAPIN_NEEDS_NODE_DESCRIPTOR;VIRTUAL_TREES_MOUSE_DOWN_FOCUS_LAST;UseSQLServerLocking;SnapInFactoryFormClassIsOptional;Strict;SIFFCIO;Sqm
Последние 3 определяет, игнорируются.
Что мне нужно, так это определить условные определения в проекте, не ограничиваясь 255 символами.
я думал, что, может быть, перемещение условных Определяет в исходный файл проекта, может быть включен в счет включают файл:
program ConsotoManager;
{$R *.RES}
{$R '..\Resource\Wumpa.res' '..\Resource\Wumpa.rc'}
{$DEFINE Win32API}
...
{$DEFINE Sqm}
{$DEFINE Strict}
uses
FastMM4,
Windows,
SysUtils,
К сожалению, оно не»работы. Причина, по которой он не работает, заключается в том, что вы не можете подменить определения для условных определений; определяет только последний до конца файла.
Итак, как я могу преодолеть ограничение на 255 символов на Условные значения в Delphi?
Проблема, конечно, состоит в том, чтобы иметь проект уровень определяет, в то время как у общий файлы исходного кода (общие файлы находятся в их собственных каталогах, вне папки проекта).
+1 для U + 2014: EM DASH! –
Проблема - это общие файлы. Они имеют 15 лет новых функций и обратную совместимость, которые либо выбраны, либо вышли из одного проекта. Если я добавлю '{$ INCLUDE Defines.inc}' в начало 'VirtualTrees.pas', он не будет работать, потому что он не сможет найти' Defines.inc' (поскольку 'Defines.inc' сидит в исходной папке моего проекта. И даже если бы это сработало, я бы ввел перерыв в библиотеке, так как ни один из других проектов не будет иметь этот файл 'Defines.inc'. –
Я начал задавать определение' Strict' разрешить другое определение. Таким образом, вы можете определить 'Strict', который автоматически включит некоторые из других определений. Я также дал определение' inuost' включить определение 'ImNotUsingOlderSimpleThread', как способ сохранить драгоценные символы. место в проекте, чтобы установить * «условное определение» *, которое работает над всеми скомпилированными единицами, а не только до конца единицы, в которой они определены. –