HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0306
ポテト(流星群)自作のDLLにDLL関数内で書き換え可能な変数を渡す方法2解決


ポテト(流星群)

リンク

2014/3/6(Thu) 18:34:02|NO.60478

HSP/Cの混合の質問で申し訳ない。

HSPの#deffuncでいうところのvar型をCに渡すのはどうするのがいいだろう?
C側ではポインタの値を書き換えたらいい気もするのだが、
HSPに引数として変数ポインタを渡す方法がわからない。



この記事に返信する


Tetr@pod

リンク

2014/3/6(Thu) 18:46:20|NO.60479

varで変数ポインタが渡されます。
int+varptrでもOKです。


// GetWindowThreadProcessIdはスレッドID・プロセスIDを返すWIN32API関数(命令)です // 第二引数に変数のポインタを指定するとその変数にプロセスIDが格納されます // http://msdn.microsoft.com/ja-jp/library/cc364779.aspx // この方法はWIN32API関数(命令)に限らず使用できます #uselib "User32.dll" #func var版命令 "GetWindowThreadProcessId" int, var // ^^^ varを指定すると変数ポインタが渡されます #func int版命令 "GetWindowThreadProcessId" int, int // ^^^ intを指定すると整数がそのまま渡されます dim var版命令用変数 dim int版命令用変数 var版命令 hwnd, var版命令用変数 int版命令 hwnd, varptr(int版命令用変数) // ^^^^^^ varptr関数は変数のポインタを返します mes "var版命令用変数:" + var版命令用変数 mes "int版命令用変数:" + int版命令用変数 // おまけ mes "int版命令用変数のポインタ:" + varptr(int版命令用変数)



ポテト(流星群)

リンク

2014/3/6(Thu) 19:23:01|NO.60480

thanks!



ONION software Copyright 1997-2023(c) All rights reserved.