ISPP宏可以调用emit和expr吗?
我的代码如下:
#if oemid == "company1"
;Company 1
#define OEMName "Company 1"
#define OEMDir "..\Customisation\Company1\"
#Include "P:\Common\Setups\Japanese.iss"
#define bannerpath OEMDir+"Setup.bmp"
#elif oemid == "company2"
;Company 2
#define OEMName "Company 2"
#define OEMDir "..\Customisation\Company2\"
#define bannerpath OEMDir+"Setup.bmp"
#define OEMIcon "{app}\OEMIcon.ico"
#elif oemid == "Company 3"
;Company 3
#define OEMDir "..\Customisation\Company3\"
etc...
每个自定义设置都使用存根ISS脚本构建,该脚本设置id并包含主ISS脚本。
我正在尝试将其转换为在存根脚本中实现的通用调用:
#expr OEMInit1()
和
#define OEMInit1() \
emit ";Company 1" \
define OEMDir "..\Customisation\Company1\" \
define bannerpath OEMDir+"Setup.bmp"
这是失败的:
[ISPP] Error at 3:23 in macro OEMInit1:
Undeclared identifier: "emit".
我如何说服ISPP它是另一个指令而不是标识符?
如果我的杆完全错了,可以自由地用它击打我:)
由于
答案 0 :(得分:0)
感谢Inno新闻组的Gavin,他指的是#sub
#sub OEMInit1
;company 1"
#define public OEMDir "..\Customisation\Company1\"
#define public bannerpath OEMDir+"Setup.bmp"
#endsub
请注意“公开”,以便可以在呼叫代码中进行访问。