■『DLL宣言』『文字型DLL宣言』で呼び出すことが出来るDLL
以下の条件を満たすもの
・呼び出すDLLの引数が必ずポインタ型でなければならない。
・引数の個数が5つ以下でなければならない。
・DLL関数の戻り値が整数型(4バイト)、或いは、ポインタ型でなければならない。
→DLLの作り方は、こちらで説明しています。
※『DLL宣言』及び『文字型DLL宣言』は、ver.1.33以前のバージョンのひまわりで利用されていたものです。上記の宣言以外の型を呼びたい場合は、こちらの、『DLLを利用』命令を使ってください。
■インポートする命令「DLL宣言」
書式:
戻り値 書式 整数型(DWORD) 「DLLファイル名」の、「関数名(引数)」を、「命令名」で、DLL宣言。 ポインタ型 「DLLファイル名」の、「関数名(引数)」を、「命令名」で、文字型DLL宣言。
引数の説明:
「DLLファイル名」・・・インポートするDLLの名前
「関数名(引数)」・・・インポートする関数の名前と引数。引数の()の中には、引数の個数を、?{補語}と、数分だけ書く。
「命令名」・・・実際にひまわりで使う命令の前。
実行の結果
特殊変数「それ」に、実行の結果を返します。
例:
Borland C++Builder で作られた dSakura.dll の MMLtoMIDI を呼び出す例。
(dSakura.dll は、ドレミのテキスト(orMML)を、MIDIファイルに変換するDLLで、oto.chu.jpより入手出来る。)
C言語で書いた、MMLtoMIDIは、以下のような関数である。これを、ひまわりから使う。
C言語の関数:
DWORD MakeMidi(char *MML, char *outFileName)
DWORD GetLastMessage(char *msg, char *len)
{命令の宣言}
「dSakura.dll」の、「MakeMidi(?を,?へ)」を、「MIDI作成」で、DLL宣言。
「dSakura.dll」の、「GetLastMessage(?へ,?バイトで)」を、「MIDI作成エラー取得」で、DLL宣言。
{実際に呼び出す}
「ドレミソラソミレ」を、「test.mid」へ、MIDI作成。
もし、それが、いいえならば、('作成に失敗
エラー文字列に、1024バイトを、確保。
エラー文字列へ、1024バイトで、MIDI作成エラー取得。
エラー文字列と、言う。
)違えば(
「test.mid」を、演奏。
)。
□解説
ひまわりのプログラムの先頭で、サクラDLLを使えるように、以下のように宣言します。
{命令の宣言}
「dSakura.dll」の、「MakeMidi(?を,?へ)」を、「MIDI作成」で、DLL宣言。
「dSakura.dll」の、「GetLastMessage(?へ,?バイトで)」を、「MIDI作成エラー取得」で、DLL宣言。
実際の使用例です。
一行目で、「ドレミ」のようなMMLテキストから、MIDIファイルを作ります。
二行目以降では、もし、作成が失敗したら、エラーメッセージを取得し、表示し、成功すれば、MIDIファイルを演奏するという手順です。
{実際に呼び出す}
「ドレミ」を、「test.mid」へ、MIDI作成。
もし、それが、いいえならば、('作成に失敗
エラー文字列に、1024バイトを、確保。
エラー文字列へ、1024バイトで、MIDI作成エラー取得。
エラー文字列と、言う。
)違えば(
「test.mid」を、演奏。
)。