Inno Setup script: идентификатор ожидаемой ошибки - PullRequest
3 голосов
/ 03 января 2012

Пожалуйста, помогите мне со следующим кодом:

[Code]
var
    AppVersionNumber: Integer;
    DBVersionNumber: Integer;
function GetAppVersion:Integer;
    var
        AppVersion: AnsiString;
    begin
        ExtractTemporaryFile('info.dat');
        LoadStringFromFile(ExpandConstant('{tmp}\info.dat'), AppVersion);
        AppVersionNumber := StrToInt(Copy(AppVersion, 1, 6));
        DBVersionNumber := StrToInt(Copy(AppVersion, 7, 12));
        GetAppVersion := AppVersionNumber; <== here is error
    end;

Я не понимаю, что здесь не так.Настройка Inno сообщает об ошибке «Ожидается идентификатор».Если я пытаюсь заменить в этой строке GetAppVersion на Result (почему? Я не знаю, но видел это в примерах), он говорит: «Неверный прототип для GetAppVersion».

Что не так с этим кодом?Пожалуйста, помогите

1 Ответ

10 голосов
/ 03 января 2012

Result := необходимо для указания результата / возвращаемого значения функции (вы не назначаете его имени функции, как VB)

Ошибка "Invalid Prototype" наиболее вероятна, потому что вы используете ее в константе {code:...}, которая требует, чтобы вызываемая функция всегда имела один строковый параметр.
Попробуйте использовать это взятое из файла справки :

function GetAppVersion(Param: String): String;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...