尝试在 Inno Setup 代码中检测锁定文件时出现“未知标识符‘FileOpen’”

问题描述 投票:0回答:1

我尝试在 Inno Setup 代码中使用

FileOpen
,但是 Inno Setup 编译器不断向我抛出以下错误。

未知标识符“文件打开”

这是示例代码:

function IsFileLocked(pathFile : string) : Boolean;
var
  hFile : integer;
begin
  Result := true;

  hFile := FileOpen(pathFile);
  if (0 <> hFile) then
    begin
      Result := false;

      { Since ISPP 1.2, Inno Setup automatically frees resources, so FileClose() is obsolete. }
      { http://www.jrsoftware.org/ispphelp/index.php?topic=fileclose }
    end;
end;

FileClose
方法不同,
FileOpen
并没有过时。

文件打开

我用谷歌搜索,但没有找到任何结果。我知道 Inno Setup 使用 Pascal Script,而不是 Pascal,但是

FileOpen
函数是
Inno Setup Preprocessor: Functions
的一部分。

注意:今天早上我升级到最新版本的编译器(5.6.1a)和最新版本的Inno Script Studio(2.3.0),同样的问题。

我确实看到了

Other Information > ISPPBuiltins.iss
部分。我尝试添加行:

[Code]
#include <ISPPBuiltins.iss>

添加

#include
语句,会生成错误

ISPPBuiltins.iss 第 1 行:第 1 列:预期为“BEGIN”。

ISPPBuiltins.iss
添加到项目中作为解决
FileOpen
问题的方法是没有意义的,因为在文本编辑器中打开文件会显示其中不存在“FileOpen”。我没有看到任何嵌入文件。编译器似乎不喜欢文件中的“; BEGIN ...”,但我离题了。这个想法就这么多。

关于如何使用

FileOpen
解决我的未知标识符问题的想法?

inno-setup pascalscript
1个回答
3
投票

FileOpen
是一个 预处理器 函数。您不能在 Pascal Script 代码中使用它,Pascal Script 代码有 自己的函数库

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.