以前、プラグインの関数を認識しないと書き込みましたが、関数のエクスポート方法を間違っていました。ちゃんと認識しました。どうもすみませんでした。orz
ただ、ちょっと問題ありまして、
GetPluginVersion()などのint値を返す関数はちゃんと機能するのですが、文字列を返す関数GetPluginAuthor()で文字列を書き込んだ後、BRRTEST側で落ちます。
DLL作成時のソースを載せます。
int WINAPI GetPluginAuthor(LPTSTR lpszAuthor, int iSize)
{
static char szAuthor[MAX_PATH] = "611";
if(iSize == 0) return MAX_PATH;
else lstrcpy(lpszAuthor, (LPCTSTR)szAuthor);
return 0;
}
どうも、バッファに書き込むところに問題があるようです。
lstrcpy(lpszAuthor, (LPCTSTR)szAuthor);を試しに
lpszAuthor[0] = '\0';としても落ちます。
BRRTESTの不具合か私のDLLの作り方が悪いのかいまいち分かっていません。
私はC,C++しか分かりませんが、VBでVCのDLLを呼ぶ時に不具合が発生することがあるみたいです。ちなみにCatShanty2ではなく、BRRTESTでしか試していません。
何かご存じであれば対応方法をご教授ください。
P.S. プラグインの関数にInitPlugin(LPCTSTR lpszListData)のような初期化する関数があればGetXXXXXX()で毎回リストデータを渡さなくても済むんじゃないかと思いました。