自作のソフト ひとりWikiについて

プラグインのサンプル


 プラグインのサンプルです。

サンプル

 Delphiで作成したdelプラグインです。
library del;

uses
  ActiveX;

function GetPluginType: longint; stdcall; export;
begin
  result := 1;
end;

function GetName: TBStr; stdcall; export;
begin
  result := SysAllocString('del');
end;

function GetVersion: TBStr; stdcall; export;
begin
  result := SysAllocString('1.0.1');
end;

function GetAuthor: TBStr; stdcall; export;
begin
  result := SysAllocString('MAS');
end;

function GetSyntax: TBStr; stdcall; export;
begin
  result := SysAllocString('&del(文字列)');
end;

function GetDescription: TBStr; stdcall; export;
begin
  result := SysAllocString('取り消し。');
end;

function GetExample: TBStr; stdcall; export;
begin
  result := SysAllocString('&del(調査中です。)修正済み。');
end;

function PluginInline(
  EscapedString: PChar;
  PlainString: PChar;
  DocumentName: PChar;
  FileName: PChar;
  DocumentFolder: PChar;
  TemplateFolder: PChar;
  SettingsName: PChar
): TBStr; stdcall; export;
var
  Buff: string;
  StrMem: PWideChar;
  Ret: TBStr;
  Len: integer;
begin
  Buff := '<del>' + EscapedString + '</del>';

  Len := Length(Buff) * SizeOf(WideChar) + 1;
  GetMem(StrMem, Len);
  try
    StringToWideChar(Buff, StrMem, Len);
    Ret := SysAllocString(StrMem);
  finally
    FreeMem(StrMem, Len);
  end;
  result := Ret;
end;

exports
  GetPluginType,
  GetName,
  GetVersion,
  GetAuthor,
  GetSyntax,
  GetDescription,
  GetExample,
  PluginInline;

begin

end.

各種サンプル

Delphi

 Delphi7で作成したサンプルです。Borland Delphi 6 Personalでは未確認ですが、たぶん動くのではないかと思います。
 linkrubyverb