加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为什么我们不能在inno-setup [Code]中声明局部const变量?

发布时间:2020-12-15 09:34:43 所属栏目:大数据 来源:网络整理
导读:你知道为什么在声明本地const变量时脚本无法编译吗? 对不起,我知道很少帕斯卡尔,也无法弄清楚为什么这不起作用! 这个例子(参见CircleArea函数)显示我的语法应该没问题. http://www.tutorialspoint.com/pascal/pascal_quick_guide.htm 这就是我想要做的: /
你知道为什么在声明本地const变量时脚本无法编译吗?
对不起,我知道很少帕斯卡尔,也无法弄清楚为什么这不起作用!

这个例子(参见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;
//---

解决方法

你正在努力.如果Inno安装程序使用Pascal它甚至可以工作,但由于它基于自定义 Pascal Script语言,并且限制声明局部常量,所以你不能这样做.您必须全局定义常量:

[Code]
const
  MethodName = 'MyExec';

function MyExec(const _filename,_dir: String): Boolean;
var
  ResultCode: Integer;
begin
  MyLog(MethodName,etc. ...
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读