■概要
ひまわりのプラグインは、普通のDLL(Dynamic Link Library)です。
しかし、DLLの関数を作る時に、以下の制限があります。
・呼び出すDLLの引数が必ずポインタ型でなければならない。
・引数の個数が5つ以下でなければならない。
・DLL関数の戻り値が整数型(4バイト)、或いは、ポインタ型でなければならない。
■Delphiで作ろう!
Delphiでプラグインを作るのは、簡単です。
Delphiの、メニューの [ファイル-新規作成] から、ダイナミックリンクライブラリ(DLL)を選択します。
例えば、Add(a,b) という簡単な関数を作ると、以下のような感じになります。
関数を普通に作った時と違うのは、関数の最後に、『stdcall』を付ける事と、最後に『exports』節に、関数名を追加することだけです。
library Project1; uses SysUtils, Classes; {$R *.RES} //---ここから function Add(a,b: PChar): PChar; stdcall; var fa,fb: Double; res: string; begin fa := StrToFloat(a); fb := StrToFloat(b); res := FloatToStr(fa + fb); Result := PChar(res); end; exports Add; //---ここまで 追加 begin end.
この関数を、ひまわりから呼び出すには、
の、ようにします。
’ひまわりのソース
『Project1.dll』の、『Add(?と,?を)』を、『加える』で、文字型DLL宣言。
30.27と、5を、加える。
表示。