Запустите хост-приложение Delphi, используя относительный путь проекта и макросы - PullRequest
0 голосов
/ 30 января 2019

Фон

Я использую BPL времени выполнения (плагин) и хост-приложение.По какой-то причине мне иногда нужно отлаживать мой bpl без переключения на хост-приложение, поэтому я могу установить «Хост-приложение» в опциях отладки.

У меня есть несколько версий моего проекта (например, обслуживание и транк)и я хочу использовать относительные пути, или, желательно, даже де выходной путь.Итак, я установил мое хост-приложение (для запуска / отладки bpl) на $PATH($EXENAME)\HostApp.exe.Но, похоже, RS10.3 НЕ разрешает эти макросы при попытке запустить хост-приложение.(Более старые версии AFAIK тоже этого не делают).

Похоже, то же самое относится и к параметрам командной строки, хотя что-то вроде $(SomeEnvVar) расширено до %SomeEnvVar% в командной строке.

Вопрос

Как запустить приложение (хост) без использования абсолютного пути к моим двоичным файлам в среде IDE RS10.3?

Я создал проблему всайт embarcadero .Пожалуйста, подпишите там, чтобы встряхнуть:)

Я создал тестовое приложение, но только тесты для параметров cmdline.Вот настройки и результаты:

Debugger settings

Results

Исходный код мало уместен и очень элементарен,но добавлено для полноты.

procedure TfrmMain.DoShow;
VAR i:integer;
begin
  inherited;
  Memo1.Clear;
  for i:=0 to ParamCount-1 do
    Memo1.Lines.Add(ParamStr(i));
end;

1 Ответ

0 голосов
/ 30 января 2019

Строка Параметры не распознает макросы.Вы можете использовать переменные среды (как вы можете найти в Окружение блока в том же диалоговом окне).

Так что если вы введете $ (BDS) или $ (APPDATA) вы получите разрешенные переменные окружения, например, в моем случае:

c:\embarcadero\studio\20.0
C:\Users\Rudy\AppData\Roaming

Именно поэтому $ (EXENAME) разрешается в % EXENAME% : его нельзя преобразовать в значение переменной среды.

Но, к сожалению, здесь нельзя использовать такие макросы, как $ PATH ($ EXENAME) .Кажется, они работают только в Инструменты |Диалоговое окно «Настройка инструментов ».

Было бы хорошо, если бы они могли использоваться и в Параметрах отладчика.Вы можете предложить это на портале качества.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...