5

NSIS関数に複数のパラメーターを含めることはできますか?

なぜこのコードはコンパイルされないのですか?関数に複数のパラメータを設定できない場合、他のオプションは何ですか(マクロの使用を無視します)?

コンパイルエラー:

関数は1つのパラメーターを期待し、4を取得します。使用法:関数function_name

Outfile "test.exe"
Caption ""
Name ""

# Compile Error Here: "Function expects 1 parameters, got 4. Usage: Function function_name"
Function MyFunction p1 p2 p3
    DetailPrint "$p1, $p2, $p3"
FunctionEnd

Section
    DetailPrint "Hello World"
SectionEnd
4

1 に答える 1

8

レジスターおよび/またはスタックでパラメーターを渡す必要があります。

Function onstack
pop $0
detailprint $0
FunctionEnd

Function reg0
detailprint $0
FunctionEnd

Section
push "Hello"
call onstack
strcpy $0 "World"
call reg0
SectionEnd
于 2012-05-14T01:06:26.540 に答える