Знаете ли вы, почему при объявлении local const vars скрипт не может скомпилировать? Извините, я знаю очень маленький паскаль и не могу понять, почему это не работает!Почему мы не можем объявлять локальные константные переменные в inno-setup [Code]?
В этом примере (см функция CircleArea) показывает, что мой синтаксис должно быть хорошо. http://www.tutorialspoint.com/pascal/pascal_quick_guide.htm
Это то, что я пытаюсь сделать:
//---placed within [Code]
procedure MyLog(const _functionName, _msg: String);
begin
Log(_functionName + '(): ' + _msg);
end;
function MyExec(const _filename, _params, _dir: String): Boolean;
const // <--- compilation fails in this line!
MethodName = 'MyExec';
var
ResultCode: Integer;
begin
MyLog(MethodName, _filename);
// ... invoke Exec(), etc. ...
end;
//---
Я понимаю. Есть ли какое-нибудь умное обходное решение, так как глобальный const не будет решением здесь! Как я могу объявить простую переменную внутри var и инициализировать ее за один шаг? – fubar
К сожалению, даже этот 'var X: Integer = 0;' не разрешен. Единственный способ, которым я могу думать (с учетом препроцессора), - объявить переменную в разделе 'var' и инициализировать ее значение в начале тела функции. – TLama
Спасибо за ваше время. – fubar