投稿

2月, 2026の投稿を表示しています

Delphi から MeCab(libmecab.dll)を呼び出す

Delphi から libmecab.dll を呼び出すユニット 32bit, 64bit 共用です(生成exeとMeCabで合わせて下さい) libmecab.dll と辞書ディレクトリのパスをコンストラクタで指定して下さい 呼出ユニット unit MeCab; interface uses Winapi.Windows, System.SysUtils, System.Classes; type PMecabTagger = Pointer; PMecabNode = Pointer; T_mecab_new = function(argc: Integer; argv: PPChar): PMecabTagger; cdecl; T_mecab_destroy = procedure(tagger: PMecabTagger); cdecl; T_mecab_sparse_tostr = function(tagger: PMecabTagger; str: PAnsiChar): PAnsiChar; cdecl; TMeCab = class private FTagger: PMecabTagger; F_mecab_new: T_mecab_new; F_mecab_destroy: T_mecab_destroy; F_mecab_sparse_tostr: T_mecab_sparse_tostr; function LoadDllFunc(DllPath: string): Boolean; public constructor Create(DllPath: string; Args: array of string); overload; constructor Create(DllPath, DicDir: string); overload; destructor Destroy; override; function Parse(const Text: string): string; end; i...