你知道为什么在声明本地const vars 时,脚本无法编译? 对不起,我知道帕斯卡很少,也无法弄清楚为什么这不起作用!
这个例子(参见 function 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;
//---
答案 0 :(得分:8)
你正在努力。如果Inno安装程序使用Pascal它甚至可以工作,但由于它基于自定义Pascal Script
语言,限制声明局部常量,所以你不能这样做。您必须全局定义常量:
[Code]
const
MethodName = 'MyExec';
function MyExec(const _filename, _params, _dir: String): Boolean;
var
ResultCode: Integer;
begin
MyLog(MethodName, _filename);
// ... invoke Exec(), etc. ...
end;