2014-09-24 67 views
1

我有一些代码,定义一个变量,像这样:如何使用NSIS互联网插件?

.... 
Var IP 
... 

我有,当我上运行脚本解释器的初始化

Function .onInit 
    ;Default installation folder 
    StrCpy $INSTDIR "C:\PTL\${Project}" 
    Internet::GetLocalHostIP ${IP} 
FunctionEnd 

运行一些其他的代码,我得到一个警告:

[exec] Variable "IP" not referenced or never set, wasting memory! 

我想这是因为我不是分配一些常量值,IP,和它不认识的设置操作多数民众赞成与互联网PLU发生杜松子酒,但是当我运行它生成的安装,并检查其使用该值的JVM ARGS(-Djava.rmi.hostname)我有这个值:

-Djava.rmi.server.hostname= 

我尝试使用类似$值8,但它确实同样的事情,只值变为:

-Djava.rmi.server.hostname = 0

如何使用这个插件是否正确?

在设置方面,我只是放弃了插件安装到./Plugins/x86-ansi

回答

1

${x}!define的,对于变量的语法是$x所以你的情况$IP但NSIS插件API做不允许输出到像这样的变量。

这个插件有一个不寻常的设计,如果你看看它包含.nsh文件,你看到它有一些定义了VAR_0 = 0等

这意味着你必须做这样的事情:

Internet::GetLocalHostIP 1 ; Tells the plugin to put the result in $1 
StrCpy $IP $1 ; Copy into your variable