callfunc

外部関数の呼び出し

val = callfunc(p1,p2,p3)

p1 : パラメーターが格納されている配列変数
p2 : 関数アドレス
p3 : パラメーター数

解説

p2で指定されているアドレスをネイティブな関数として呼び出します。
呼び出しの引数として、p1で指定された数値型配列変数に格納されている値を使用します。p3でパラメーター数を指定することができます。

例 :
	a.0=1
	a.1=2
	a.2=3
	res = callfunc( a, proc, 3 )

上の例では、procが示すアドレスの関数を(1,2,3)という引数で呼び出します。
呼び出した関数の戻り値が、そのままcallfuncの戻り値となります。
この関数は、自前で関数アドレスを用意して呼び出す特殊な状況に使用するものです。
通常は使用する必要がありません。また、外部関数呼び出しに失敗した場合には、フリーズや予期しない結果が起こる場合があるので、十分に注意して使用するようにしてください。

関連項目

#uselib外部DLLの指定
#func外部DLL呼び出し命令登録

情報

バージョン3.3
作成日2012/09/27
著作者onitama
URLhttp://hsp.tv/
備考ver3.3標準関数
タイプ内蔵関数
グループ基本入出力関数
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
  • HSPLet
hs ファイルhsphelp\i_stdfunc.hs