我正在尝试使用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’。
我试图理解为什么编译器找不到函数,但我不明白。对我的错误(可能是显而易见的)的任何帮助都将不胜感激。
发布于 2011-10-30 21:28:01
如果你这样做了,它会工作吗?
Source: "{#MySourceDir}\TestFile.pdf"; DestDir: "{code:GetDataDir}"而不是?我想是这样的。实际上,您应该听取编译器的意见,它说没有名为<space>GetDataDir的函数。当然没有!您的函数名为GetDataDir!
https://stackoverflow.com/questions/7945117
复制相似问题