HSPルーム

1-1.DLLを使ってみる

HSP3.0

HSPの限度

HSPの標準命令では、さまざまなプログラムを作る上で限度があります。
そこで、DLLを使うことができます。
DLLはHSPでは作られていないので、より高度な命令を使うことができます。

DLLの利点

  • より高度な命令を使える
  • 拡張性が高い(どのプログラムからも使える)
  • (恐らく)HSPより高速

DLLの欠点

  • DLLファイルのサイズが大きい
  • HSPから使うのは面倒くさい
  • 他人が作ったものを使うことになる

DLLを使う

DLLを読み込むときは#uselib命令を使います。
それから、#func命令を使ってHSPの命令用に登録していきます・・・

と、いうのは面倒くさいので、あらかじめそのような作業が行ってあるヘッダファイルがあります。
そのファイルを#includeするだけで、もう拡張命令が使えるようになります。

hspext.dllを使う

「hspext.as」をインクルードするだけで、hspext.dllが使えるようになります。
(hspext.dllはHSP標準付属のDLLで、ヘルプにも詳細が載っています。一度ご覧ください。)

hspext.dllを使う(準備)
#include "hspext.as"
	stop

これだけで拡張命令を使う準備ができました。

clipget命令を使う

ヘルプを見ると、hspext.dllでは60もの命令を使えるようです。
ここでは、クリップボードの文字を取得する、clipget命令を使ってみましょう。
(クリップボードとは、コピーした文字を保存しておくメモリのことです。)

HSP標準付属のDLLの場合、ヘルプに命令の説明が載っています。
clipget命令は、次のようにありました。

clipget p1,p2   //クリップボードテキスト取得 [要:hspext.dll]

p1=変数 : 情報が格納される変数名
p2=0〜(64) : 最大文字数

それでは、これでプログラムを組んでみましょう。

hspext.dllを使う(clipget命令を使ってみる)
#include "hspext.as"
	sdim data,33 //メモリ確保
	clipget data,32 //32文字まで取得
	mes data //クリップボードのデータを表示
	stop

これで自由にdllが使えますね。
exeファイルを作成したら、
そのディレクトリにDLLファイルをコピーするのを忘れないようにしてください。