我使用运行时(插件)BPL和主机应用程序。无论出于何种原因,有时我都需要调试bpl而不切换到主机应用程序,因此可以在调试选项中设置“主机应用程序”。
我的项目有多个版本(例如,维护和主干),我想使用相对路径,甚至最好使用输出路径。
因此,我将主机应用程序(用于运行/调试bpl)设置为$PATH($EXENAME)\HostApp.exe
。但是,似乎在尝试启动主机应用程序时RS10.3不能解析这些宏。 (AFAIK较早的版本也不执行此操作。)
尽管在命令行上将$(SomeEnvVar)
扩展为%SomeEnvVar%
,但似乎适用于命令行参数。
如何在RS10.3 IDE中启动我的(主机)应用程序而不使用二进制文件的绝对路径?
我已经创建了一个issue on the embarcadero网站。请在那里投票以解决问题:)
我创建了一个测试应用程序,但仅测试cmdline参数。以下是设置和结果:
源代码无关紧要,非常基础,但是为了完整起见而添加了
。procedure TfrmMain.DoShow;
VAR i:integer;
begin
inherited;
Memo1.Clear;
for i:=0 to ParamCount-1 do
Memo1.Lines.Add(ParamStr(i));
end;
答案 0 :(得分:1)
Parameters 行无法识别任何宏。您可以使用环境变量(可以在同一对话框的 Environment Block 中找到)。
因此,如果输入 $(BDS)或 $(APPDATA),您将获得解析的环境变量,例如就我而言:
c:\embarcadero\studio\20.0
C:\Users\Rudy\AppData\Roaming
这也是为什么 $(EXENAME)解析为%EXENAME%:它不能被解析为环境变量的值
但是不幸的是,您不能在此处使用任何 $ PATH($ EXENAME)之类的宏。他们似乎只在工具工作|配置工具的对话框。
如果它们也可以在调试器的 Parameters 中使用,那就太好了。你可以在质量门户建议它。