我正在尝试使用Pascal脚本来构建一个脚本以返回文件夹的名称(但我希望以后使用相同的函数来获得更广泛的结果)。 我的脚本在这里:
;This is a test script
#define MySourceDir "D:\Temp\InnoTestSrc"
#define MyDestDir "D:\Temp\InnoTest"
[Setup]
DefaultDirName={#MyDestDir}
DisableDirPage=no
AppName="MyTestApp"
AppVersion=1
[Code]
function GetMyConstant(Param: String): String;
var
strConst: string;
begin
strConst := '{#' + Param + '}';
MsgBox(strConst, mbInformation, MB_OK);
Result := expandconstant(strConst);
end;
function GetDataDir(Param: String): String;
begin
{ Return the selected DataDir }
Result := 'DummyString';
end;
[Files]
Source: {#MySourceDir}\TestFile.pdf; DestDir: {code: GetDataDir}
然而,当我尝试编译它时,我得到了
编译错误! 行:29 错误:找不到所需的函数或过程'GetDataDir'。
我试图理解为什么编译器找不到该函数,但我不明白。 对我(可能是明显的)错误的任何帮助都将受到高度赞赏
答案 0 :(得分:1)
如果你这样做是否有用
Source: "{#MySourceDir}\TestFile.pdf"; DestDir: "{code:GetDataDir}"
代替?我认为确实如此。实际上,你应该听编译器,它说没有名为<space>GetDataDir
的函数。当然没有!您的函数称为GetDataDir
!