Inno-setup:功能未找到?

时间:2011-10-30 13:17:33

标签: inno-setup

我正在尝试使用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'。

我试图理解为什么编译器找不到该函数,但我不明白。 对我(可能是明显的)错误的任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:1)

如果你这样做是否有用

Source: "{#MySourceDir}\TestFile.pdf"; DestDir: "{code:GetDataDir}"

代替?我认为确实如此。实际上,你应该听编译器,它说没有名为<space>GetDataDir的函数。当然没有!您的函数称为GetDataDir