Inno-setup:找不到功能?

发布于 2024-12-12 20:28:58 字数 821 浏览 0 评论 0原文

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

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

I am trying to build a script using Pascal scripting to return the name of a folder (but I want later to use the same function for wider results).
My scrip is here:

;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}

However, when I try to compile it, I get

Compile Error!
Line: 29
Error: Required function or procedure ' GetDataDir' not found.

I am trying to understand why the compiler cannot find the function, but I do not understand.
Any help to my (probably obvious) error would be highly appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

刘备忘录 2024-12-19 20:28:58

如果你这样做的话有效吗

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

?我认为确实如此。事实上,您应该听编译器的意见,它说没有名为 GetDataDir 的函数。当然没有!您的函数名为 GetDataDir

Does it work if you do

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

instead? I think it does. Indeed, you should listen to the compiler, which says that there is no function called <space>GetDataDir. Of course there is not! Your function is called GetDataDir!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文