2014-09-24 59 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