━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2018/06/06 コールバックモジュール・modclbk3 tds12 http://hsp.tv/play/pforum.php?mode=pastwch&num=62130 ━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 名称│modclbk3 バージョン│3B2 動作環境│Windows ──────┼──────────────────────────── 必要環境|HSP 3 ━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ 概要 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ modclbk3 は、HSP3でコールバック関数を扱えるようにするモジュールです。 EnumWindows関数などが使用できるようになります。 newclbk3命令で、サブルーチンをコールバック関数として登録して使用します。 コールバック関数に渡された引数は、clbkargprotect命令で取得します。 ■ 使用方法 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ modclbk3.hsp をインクルードすると、modclbk3 の命令が使用できるようにな ります。詳しい使用方法は、ヘルプ、サンプルスクリプトを参考にしてください。 hsp2cでの使用はお勧めいたしません。 このモジュールの技術的制限を念のため書いておくと、 ・引数の数が13bitで表せないサイズになると正しく動作しない ・引数の型はすべて4ビット符号付き整数値で取得される ・引数の合計バイト数が4で割り切れない関数は作れない ・引数数がマイナスの場合に対応していない(バグとも言える) です。 終了時にメモリの開放等の特別な操作は必要ありません。 必要な終了処理は、モジュールが自動で行います。 ■ 著作権 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ このモジュール ファイルは著作権フリーです。 改変や組み込み、公開等に対して制限は一切ありません。 このモジュール ファイルを使用は無保証であり自己の責任で行ってください。 作者tds12は一切責任を負いません。 ■ リリースノート ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 2017/10/15 ・HSP3.5に同梱 2015/4/25 ・一部の関数で無条件にシステムエラーが発生するバグが修正 2015/4/24 ・引数の数が0の場合にシステムエラーが起こるバグを修正 2015/4/18 ・thiscall規約へ対応 ・引数数0を指定した場合のバグも修正 2015/1/4 ・過去のバージョンとの互換性がありません ・モジュール変数を使用しないようにした  (ただし、hsp2cでは「変数名が指定されていない」とエラーになります) ・cdecl規約に対応した 2014/10/16 ・EnumFontFamiliesEx関数で2個目のフォントが取得できない不具合を修正 2014/7/13 ・free__modclbkを呼ばなくてよくした ・ウィンドウメッセージに頼らなくなった ・等 2014/5/28 ・モジュール内で負の値を右シフト際に発生する不具合を修正 2014/5/20 ・HSPTV!掲示板に最初の投稿 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━