0

こんにちは、私は以下のコードを用意しています

ファイル: 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

スクリプトを実行すると、マクロが 2 回呼び出され、メッセージ ボックスが同じ値で 2 回表示されます。なぜこうなった。

4

1 に答える 1

1

ここに投稿されたこのコードが MessageBox を2回使用する方法はありません。

それを呼び出す他のコードが必要です。試してください:

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

また、コンパイラ出力のすべてのステップを確認できるはずです...

于 2012-10-16T20:07:01.010 に答える