NSIS消息框跳转偏移量

NSIS消息框跳转偏移量,nsis,Nsis,如果MessageBox返回IDNO,我无法理解以下跳转到特定偏移量的代码有什么问题 下面的代码是在选择IDNO时退出安装程序,但它总是跳转到转到endCurrentBlock行 MessageBox MB_YESNO|MB_ICONEXCLAMATION "Would you like to continue installation?" IDNO +3 !insertmacro ShowStatus "Failed to install software" Goto

如果MessageBox返回IDNO,我无法理解以下跳转到特定偏移量的代码有什么问题

下面的代码是在选择IDNO时退出安装程序,但它总是跳转到
转到endCurrentBlock

    MessageBox MB_YESNO|MB_ICONEXCLAMATION "Would you like to continue installation?" IDNO +3
    !insertmacro ShowStatus "Failed to install software"
    Goto endCurrentBlock
    Quit

如果我使用Absole标签进行跳跃,效果会很好。原因可能是什么?

通过偏移量跳过x条NSIS指令,但是
!insertmacro
是一条预处理器指令,可以扩展为零、一条或多条NSIS指令


不建议将偏移跳转和
组合在一起!insertmacro
,因为它可以通过更改宏来中断代码…

按偏移量跳转跳过x个NSIS指令,但是
!insertmacro
是一条预处理器指令,可以扩展为零、一条或多条NSIS指令


不建议将偏移跳转和
组合在一起!insertmacro
因为它只需更改宏即可中断代码…

正确。我错过了这个。防御+3偏移指示宏内部的行,其中包括4行。感谢您的快速回复。使用标签或LogicLib,您可能会有一个更简单的时间。这样,当宏更改时,您不必更改所有偏移。对。我错过了这个。防御+3偏移指示宏内部的行,其中包括4行。感谢您的快速回复。使用标签或LogicLib,您可能会有一个更简单的时间。这样,当宏更改时,不必更改所有偏移。