You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Inno Setup获取m-d-yyyy格式日期写入注册表编译报错如何解决

报错原因

  • Pascal 语法规则要求函数声明必须明确指定返回值类型,你编写的DateTime函数未声明返回值类型,直接触发标识符预期错误
  • DateTime是 Inno Setup 内置的保留类型名,用作自定义函数名会产生命名冲突
  • 若你需要m-d-yyyy格式的日期,原有GetDateTimeString第一个参数的分隔符设置错误,会导致最终输出格式不符合预期

修正方案

  1. 调整[Registry]区段的配置,替换调用的自定义函数名:
Root: HKLM32; Subkey: "SOFTWARE\MyProgram"; ValueType: string; ValueName: "InstalledDate"; ValueData: "{code:GetInstallDate}"
  1. 替换[Code]区段的函数实现,明确指定返回值类型、修改函数名、校正日期格式参数:
function GetInstallDate(): string;
begin
  Result := GetDateTimeString('m-d-yyyy', '-', ':');
end;

修改后重新编译即可正常生成安装包,写入注册表的日期会符合你要求的m-d-yyyy格式。

内容的提问来源于stack exchange,提问作者Laug0613

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:15:04