Построить макросы событий в Delphi XE - PullRequest
10 голосов
/ 04 апреля 2011

Согласно файлу справки Delphi , когда я открываю диалоговое окно для добавления событий сборки в параметры моего проекта, диалоговое окно должно отображать список макросов (заполнителей), которые я могу использовать в командной строкедля события сборки.Когда я пытаюсь сделать это в Delphi XE, список макросов становится пустым.В файле справки также не указано, какие макросы доступны (что я смог найти).

Итак, какие макросы доступны?Сейчас мне нужен макрос для полного пути к скомпилированному файлу .exe (после сборки) и полного пути к файлу .dproj.Но я хотел бы иметь полный список доступных макросов для дальнейшего использования.

Ответы [ 3 ]

11 голосов
/ 04 апреля 2011

Мне пришлось вернуться к D2010, чтобы придумать этот список:

BDS                 The environment variable $(BDS)
DEFINES             The project's conditional defines
DIR                 The environment variable $(DIR)
INCLUDEPATH         The project's include path
INPUTDIR            The input file's directory
INPUTEXT            The input file's extension
INPUTFILENAME       The input file's name, with extension
INPUTPATH           The input file's full path
LOCALCOMMAND        Local command entered by user in project manager
OUTPUTDIR           The output file's directory
OUTPUTEXT           The output file's extension
OUTPUTFILENAME      The output file's name, with extension
OUTPUTNAME          The output file's name, without extension
OUTPUTPATH          The output file's full path
Path                The environment variable $(PATH)
PROJECTDIR          The project's directory
PROJECTEXT          The project's extension
PROJECTFILENAME     The project file's name, with extension
PROJECTNAME         The project's name
PROJECTPATH         The project file's full path
SAVE                Save the input file to disk before it's compiled
SystemRoot          The environment variable $(SYSTEMROOT)
WINDIR              The environment variable $(WINDIR)
2 голосов
/ 04 апреля 2011

Для начала, я думаю, вам нужен $ (PROJECTPATH), который будет полным именем файла DPROJ, включая его путь.

Это ошибка в RAD XE.Я тоже это видел.Это ушло для меня в обновлении 1. Подождите.Я имею в виду, это регрессия в обновлении 1, а не в RTM.

Это скриншот из Delphi 2009:

enter image description here

0 голосов
/ 04 апреля 2011

У меня установлено Обновление 1, но я все еще не вижу их, однако ...

Для выходного файла используйте «$ (OUTPUTDIR) $ (OUTPUTFILENAME)» и файл проекта использует «$ (ProjectDir) $ (ProjectFileName)»

Список доступных макросов (если они не отображаются в IDE) можно найти в C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Borland.Delphi.Targets (источник * 1005). * Каковы свойства уровня проекта MSBuild для Delphi? )

Внутри этого файла находится следующая область на моем компьютере ...

<!-- Build event properties settable in the IDE -->
    <ProjectName>$(MSBuildProjectName)</ProjectName>
    <ProjectFilename>$(MSBuildProjectFile)</ProjectFilename>
    <ProjectExt>$(MSBuildProjectExtension)</ProjectExt>
    <ProjectDir>$(MSBuildProjectDirectory)</ProjectDir>
    <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>

    <InputPath>@(DelphiCompile->'%(FullPath)')</InputPath>
    <InputDir>@(DelphiCompile->'%(RootDir)%(Directory)')</InputDir>
    <InputName>@(DelphiCompile->'%(Filename)')</InputName>
    <InputExt>@(DelphiCompile->'%(Extension)')</InputExt>
    <InputFilename>@(DelphiCompile->'%(Filename)%(Extension)')</InputFilename>

    <OutputPath>@(_DependencyCheckOutputName->'%(FullPath)')</OutputPath>
    <OutputDir>@(_DependencyCheckOutputName->'%(RootDir)%(Directory)')</OutputDir>
    <OutputName>@(_DependencyCheckOutputName->'%(Filename)')</OutputName>
    <OutputExt>@(_DependencyCheckOutputName->'%(Extension)')</OutputExt>
    <OutputFilename>@(_DependencyCheckOutputName->'%(Filename)%(Extension)')</OutputFilename>

НТН

...