プラグイン(DLL)の作り方


■概要

 ひまわりのプラグインは、普通のDLL(Dynamic Link Library)です。
 しかし、DLLの関数を作る時に、以下の制限があります。
呼び出すDLLの引数が必ずポインタ型でなければならない。
引数の個数が5つ以下でなければならない。
DLL関数の戻り値が整数型(4バイト)、或いは、ポインタ型でなければならない。

■Delphiで作ろう!

 Delphiでプラグインを作るのは、簡単です。
 Delphiの、メニューの [ファイル-新規作成] から、ダイナミックリンクライブラリ(DLL)を選択します。

 例えば、Add(a,b) という簡単な関数を作ると、以下のような感じになります。
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.      
 関数を普通に作った時と違うのは、関数の最後に、『stdcall』を付ける事と、最後に『exports』節に、関数名を追加することだけです。

この関数を、ひまわりから呼び出すには、
’ひまわりのソース
『Project1.dll』の、『Add(?と,?を)』を、『加える』で、文字型DLL宣言
30.27と、5を、加える
表示。
の、ようにします。

戻る