Inno Setup获取m-d-yyyy格式日期写入注册表编译报错如何解决
报错原因
- Pascal 语法规则要求函数声明必须明确指定返回值类型,你编写的
DateTime函数未声明返回值类型,直接触发标识符预期错误 DateTime是 Inno Setup 内置的保留类型名,用作自定义函数名会产生命名冲突- 若你需要
m-d-yyyy格式的日期,原有GetDateTimeString第一个参数的分隔符设置错误,会导致最终输出格式不符合预期
修正方案
- 调整
[Registry]区段的配置,替换调用的自定义函数名:
Root: HKLM32; Subkey: "SOFTWARE\MyProgram"; ValueType: string; ValueName: "InstalledDate"; ValueData: "{code:GetInstallDate}"
- 替换
[Code]区段的函数实现,明确指定返回值类型、修改函数名、校正日期格式参数:
function GetInstallDate(): string; begin Result := GetDateTimeString('m-d-yyyy', '-', ':'); end;
修改后重新编译即可正常生成安装包,写入注册表的日期会符合你要求的m-d-yyyy格式。
内容的提问来源于stack exchange,提问作者Laug0613
相关产品推荐
相关产品推荐

