CatShanty2メンテサポート&雑談掲示板
CatShanty2 の質問やバグ報告など
Re: プラグインについて PART2
hey_kitarou 2010/02/07 18:54:31
>GetPluginVersion()などのint値を返す関数はちゃんと機能するのですが、文字列を返す関数GetPluginAuthor()で文字列を書き込んだ後、BRRTEST側で落ちます。

ログウィンドウにはどこまで表示されてますか?
DLLのロードが成功すると以下のように表示されますが、GetPluginAuthor は OK になっているんですよね。
------------------------
DLLロード -> OK
...GetPluginVersion -> OK
...GetPluginAuthor -> OK
...GetXXXX -> OK
...GetXXXX -> NG
  :
------------------------

次に GetPluginAuthor を選択して「実行」をクリックすると、DLLとのやり取りが成功した順に以下のような表示になります。
------------------------
[プラグイン作者]   ← GetPluginAuthor 関数がDLLに実装されてると表示される
必要バイト数:xx   ← 必要なバッファサイズの問い合わせが得られたら表示される
xxxxxxxxxx      ← 実際に取得できた文字列が表示される
------------------------

>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;
>}

見た感じ動きそうですけどね…。
ちなみに GetPluginAuthor に関しては固定でしょうから以下で良いと思われます。

if ( iSize != 0 ) lstrcpy( lpszAuthor, "611" );
return 4;

でもちょっとわかんないです。
とりあえず、ログがどこまで出ているか教えて下さい。

引用しない
 編集キー

【この記事の返信元】
プラグインについて PART2611 2010/02/07 00:40:05

【この記事への返信】
Re: プラグインについて PART2hey_kitarou 2010/02/07 21:29:07
▲ page top