今回はWin32APIの利用についてご教授頂きたく思い、書き込ませていただきました。
さて、ちょくとさんのページで公開されているHSP2.6向けモジュール"xdim.as"
http://yokohama.cool.ne.jp/chokuto/urawaza/mcn/intro.html
をHSP3に翻訳したいと思いやってみたのですが、あまり経験がないため結果に自信が持てません。
失敗できない領域ですし、知識のある皆さんに添削していただければ心強いと思い、
結果を以下に転記させていただきます。
誤っている点や改善すべき点があればご指摘お願いいたします。
#ifndef xdim
#module "xdimModule" #deffunc __xdim val v1, int p2 prm = varptr(v1), p2*4, $40 ret = callfunc(prm, fnVP, 4) return #define global xdim(%1,%2) dim %1,%2 : __xdim %1,%2 #global #ifndef VirtualProtect #uselib "kernel32.dll" #func global VirtualProtect "VirtualProtect" sptr,sptr,sptr,sptr #endif // モジュール内変数の初期化 dim hdll@xdimModule, 7 dup fnVP@xdimModule, hdll@xdimModule(1) dup prm@xdimModule, hdll@xdimModule(2) prm@xdimModule(3) = varptr(prm@xdimModule(4)) fnVP@xdimModule = varptr(VirtualProtect) #endif ; !defined (xdimModule)
【主な変更点】
・モジュール名と関数名が重複していたのを修正
・llmod.as系命令をHSP3標準命令に書き換え