【问题标题】:ISSI Inno Setup function [duplicate]ISSI Inno 设置功能 [重复]
【发布时间】:2020-05-01 13:52:57
【问题描述】:

我正在使用 ISSI 插件 进行 Inno 设置,但尝试在我的 [CODE] 部分中使用 ISSI 函数时遇到错误

Uknown identifier 'ISSI_CurPageChanged'   

该插件是免费的,它的主要功能位于: http://members.home.nl/albartus/inno/ISSI_Functions/ISSI_Functions_Overview.htm

http://members.home.nl/albartus/inno/General_Information/Download_ISSI.htm

我必须使用这个 ISSI 函数,否则我在尝试使用 CurPageChanged 时会遇到重复错误。

我的代码如下:

#define ISSI_WizardBitmapImage2 "EcraFinal.bmp"
#define ISSI_WizardBitmapImage2_x 495
#define ISSI_WizardBitmapImage2_Align

#define ISSI_UseMyCurPageChanged
#define ISSI_BeveledLabel ""

#define ISSI_WizardBitmapImage "EcraInicial.bmp"
#define ISSI_WizardBitmapImage_x 495
#define ISSI_WizardBitmapImage_Align

; Include Plugin ISSI 
#define ISSI_IncludePath "C:\ISSI"
#include ISSI_IncludePath+"\_issi.isi"

[Setup]
...

[Run]
...

[Code]
procedure ISSI_CurPageChanged(CurPageID: Integer);

begin
if CurPageID = wpWelcome then 
begin
WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall);  
//or := 'YourNewNextButtonText' or := ExpandConstant('{cm:YourCmTitleForNext}')
WizardForm.CancelButton.Caption := ExpandConstant('{cm:Cancelar isto}');
end; //begin + end to make changes only for this single page
end;
[/Code]

_issi-isi 文件存在并且我的应用程序正在正确处理该文件。 有什么建议吗?提前谢谢你。

【问题讨论】:

标签: inno-setup issi


【解决方案1】:

这是一个初学者的错误! :)

如果您遇到此错误,请记住在您的 [Code] 部分之后包含 ISSI 插件(_issi.isi 文件)。像这样:

#define ISSI_WizardBitmapImage "EcraInicial.bmp"
#define ISSI_WizardBitmapImage_x 495
#define ISSI_WizardBitmapImage_Align

#define ISSI_WizardBitmapImage2 "EcraFinal.bmp"
#define ISSI_WizardBitmapImage2_x 495
#define ISSI_WizardBitmapImage2_Align

#define ISSI_BeveledLabel ""
#define ISSI_UseMyCurPageChanged

[Setup]
...

[Run]
... 

[Code]
procedure ISSI_CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpWelcome then 
  begin
    WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall);  
    WizardForm.CancelButton.Caption := ExpandConstant('{cm:Cancelar isto}');
  end;
end;
[/Code]

; Include Plugin ISSI
#define ISSI_IncludePath "C:\ISSI"
#include ISSI_IncludePath+"\_issi.isi"

【讨论】:

  • 这很奇怪。此解决方案没有解释为什么您会收到有关重复事件方法标识符的错误。通过稍后在脚本中编写它,您只需要稍后包含其他事件方法。而已。它们应该仍然是重复的。
  • 你是对的。如果您尝试 [Code] 部分中的 CurPageChanged 过程,您会收到重复事件错误,因为 ISSI 已在使用该函数。就像members.home.nl/albartus/inno/ISSI_Functions/… 中所说的那样(如果 ISSI 使用该函数,请使用您的自定义 CurPageChanged)。我没有包括 [Setup] 部分来简化事情。谢谢 TLama。
  • 你不应该use this code 吗?我认为您现在缺少ISSI_UseMyCurPageChanged 条件定义...
  • 它正在被使用。 'ISSI_UseMyCurPageChanged' 定义在第 4 行,结构相同。
  • 啊,对不起,我错过了!我对你的回答做了一些小改动。希望你不介意:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-23
  • 2021-04-02
  • 2022-06-16
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多