2012-10-16 80 views
0

您好我有下面的代碼到位insertmacro獲取調用兩次

文件:setup.nsi

Function .onInit 
    Call functionXXX 
FunctionEnd 

文件:Utils.nsh

!define someFunc "!insertmacro someFunc" 
!macro someFunc source destination 
    MessageBox "${source}, ${destination}" 
!macroend 


Function functionXXX 
    ${someFunc} "C:\MyApp\test.txt" "C:\MyApp\backup\test.txt" 
FunctionEnd 

如果我運行腳本,宏被調用兩次,我看到兩次具有相同值的消息框。這是爲什麼發生。

回答

1

沒有辦法,這個代碼張貼在這裏將消息框兩次。

必須有一些其他的代碼調用它,嘗試:

Function .onInit 
    Messagebox mb_ok before 
    Call functionXXX 
    Messagebox mb_ok after 
FunctionEnd 

你也應該能夠看到在編譯器輸出的所有步驟......

+0

謝謝!我明白了,我正在呼籲該部門。 – sam