Delphi の条件定義は 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,
残念ながら、それは機能しません。これが機能しない理由は、条件定義の代わりに定義を使用できないためです。ファイルの最後までしか定義しません。
では、 Delphiの条件付き定義の 255 文字の制限を克服するにはどうすればよいでしょうか。
もちろん、問題は、ソース コード ファイルを共有しながら、プロジェクトレベルの定義を作成する方法です (共有ファイルは、プロジェクト フォルダーの外の独自のディレクトリにあります)。