【发布时间】:2020-10-29 18:34:36
【问题描述】:
在我的代码中重复了以下函数:(因为我使用多个代码混合不同的函数来创建我的安装程序)。
CurInstallProgressChanged
CancelButtonClick
InitializeWizard
CurPageChanged
是否可以将这些函数重命名为CancelButtonClick1和2(例如)等,以免出错?
【问题讨论】:
在我的代码中重复了以下函数:(因为我使用多个代码混合不同的函数来创建我的安装程序)。
CurInstallProgressChanged
CancelButtonClick
InitializeWizard
CurPageChanged
是否可以将这些函数重命名为CancelButtonClick1和2(例如)等,以免出错?
【问题讨论】:
此答案在 Inno Setup 6 中已过时。有关最新答案,请参阅 Merging event function (InitializeWizard) implementations from different sources。
CurInstallProgressChanged 和 CancelButtonClick1 必须具有该名称。您不能将它们命名为 CurInstallProgressChanged1 和 CancelButtonClick1 并期望它们被神奇地调用。
您从InitializeWizard 调用InitializeWizard1 和InitializeWizard2。但是您不要在任何地方调用CurInstallProgressChanged1 或CancelButtonClick1。
如果您只有一个事件函数的实现,则无需在其名称后附加数字。保留CurInstallProgressChanged 和CancelButtonClick。
然后,您有两个 CurPageChanged 实现(CurPageChanged1 和 CurPageChanged2),但您没有主要实现 CurPageChanged。
正如answer, I've already pointed you to 所说:
当您重用来自不同来源的各种功能实现时,那些通常会实现相同的 Inno Setup 事件函数(如
InitializeWizard)。您必须合并这些事件函数,因为可能只有一个函数实现。
您可以通过将唯一后缀附加到不同的实现而不是从主实现调用它们来做到这一点。
【讨论】: