From d2e2e3b6691fb71a09aaf85d872f308bc7f2a5ce Mon Sep 17 00:00:00 2001 From: EMRG Evolution Date: Wed, 5 Aug 2026 15:29:15 +0800 Subject: [PATCH 1/2] emrg: remove duplicate Inno const block (WM_SETTINGCHANGE/HWND_BROADCAST/SMTO_ABORTIFHUNG are IS 6.3+ builtin) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #397 修复 heredoc 转义后,iscc 首次成功解析 .iss,暴露下一层错误: Duplicate identifier 'HWND_BROADCAST'(Inno Setup 6.3+ 已预置这些 Windows 常量)。 删除 [Code] const 块,保留 R120 注释说明。windows-2025 runner 内置 IS 6.4.x。 --- packaging/make-installer.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packaging/make-installer.sh b/packaging/make-installer.sh index 84f6d100..a8d10cae 100755 --- a/packaging/make-installer.sh +++ b/packaging/make-installer.sh @@ -187,10 +187,9 @@ Name: "{userprograms}\\EMRG"; Filename: "{app}\\emrg-gui\\EMRG\\EMRG.exe"; IconF [UninstallRun] Filename: "{app}\\bin\\python.exe"; Parameters: "{app}\\bin\\emrg-uninstall"; Flags: runhidden [Code] -const - WM_SETTINGCHANGE = 26; { \$001A } - HWND_BROADCAST = 65535; { \$FFFF } - SMTO_ABORTIFHUNG = 2; { \$0002 } +{ R120: WM_SETTINGCHANGE / HWND_BROADCAST / SMTO_ABORTIFHUNG 为 Inno Setup 6.3+ 内置常量, + 不可在 const 段重复定义(Duplicate identifier 'HWND_BROADCAST',v0.2.2 CI 二次失败)。 + 旧代码的显式 const 定义在 IS 6.3 之前是必需的,现版本已预置。 } function SendMessageTimeout(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM; fuFlags: UINT; uTimeout: UINT; var lpdwResult: DWORD): BOOL; From 2e8ec0dd4543750e2bd85980aac996cd5b8d8aa8 Mon Sep 17 00:00:00 2001 From: EMRG Evolution Date: Wed, 5 Aug 2026 15:37:09 +0800 Subject: [PATCH 2/2] emrg: keep WM_SETTINGCHANGE/SMTO_ABORTIFHUNG const, only drop HWND_BROADCAST (iscc builtin) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正 #398 的不完整修复:issrc 源码确认 iscc 预定义常量 (Compiler.ScriptFunc.pas RegisterConst,185 个)仅含 HWND_BROADCAST, 无任何 WM_*/SMTO_* 常量。删除整个 const 块会导致 Unknown identifier 'WM_SETTINGCHANGE'。现在 const 块保留 WM_SETTINGCHANGE = 26 与 SMTO_ABORTIFHUNG = 2(带 $ 转义), 仅移除 HWND_BROADCAST 定义。 --- packaging/make-installer.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packaging/make-installer.sh b/packaging/make-installer.sh index a8d10cae..b72b1cdb 100755 --- a/packaging/make-installer.sh +++ b/packaging/make-installer.sh @@ -187,9 +187,12 @@ Name: "{userprograms}\\EMRG"; Filename: "{app}\\emrg-gui\\EMRG\\EMRG.exe"; IconF [UninstallRun] Filename: "{app}\\bin\\python.exe"; Parameters: "{app}\\bin\\emrg-uninstall"; Flags: runhidden [Code] -{ R120: WM_SETTINGCHANGE / HWND_BROADCAST / SMTO_ABORTIFHUNG 为 Inno Setup 6.3+ 内置常量, - 不可在 const 段重复定义(Duplicate identifier 'HWND_BROADCAST',v0.2.2 CI 二次失败)。 - 旧代码的显式 const 定义在 IS 6.3 之前是必需的,现版本已预置。 } +{ R120: HWND_BROADCAST 为 iscc 预定义常量(Compiler.ScriptFunc.pas RegisterConst), + 显式定义会报 Duplicate identifier 'HWND_BROADCAST'(v0.2.2 CI 二次失败)。 + WM_SETTINGCHANGE / SMTO_ABORTIFHUNG 未预置,需保留 const 定义。 } +const + WM_SETTINGCHANGE = 26; { \$001A } + SMTO_ABORTIFHUNG = 2; { \$0002 } function SendMessageTimeout(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM; fuFlags: UINT; uTimeout: UINT; var lpdwResult: DWORD): BOOL;