Я пытаюсь использовать FileOpen
в коде Inno Setup, однако компилятор Inno Setup продолжает выдавать мне следующую ошибку:
Неизвестный идентификатор 'FileOpen'
Вот пример кода:
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
не устарел.
FileOpen
Iсделал поиск в гугле, но ничего не оказалось.Я знаю, что 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
?