Metasequoia BBS

| 新規投稿 | 通常表示 | ツリー表示 |
状態
タグ
キーワード
[1244] MQStationPlugin::Initializeについて / Jama
対応済み [SDK] 返信
MQStationPlugin::Initializeについてですが、
ドキュメントによるとメタセコイアの起動時と「プラグインについて」で
仕様がチェックされた時に呼び出される仕様になっています。

しかし実際には「プラグインについて」を開いた段階で既に読み込まれている
プラグインのInitializeが呼び出され、Exit()が呼び出されないまま
Initializeが2回呼び出される事になってしまいます。

Initializeで重複呼び出しチェックを行えばよいのですが、ドキュメントでは
InitializeとExitがペアで呼びだされるように記述されているので気づかない
ままメモリリークを起こすプラグインが拙作を含めいくつかあるようです。

現在不具合報告BBSで報告されているバグの中にはこれが原因のものもあるようで
InitializeとExitの呼び出し法則を明確にして頂けると混乱が少なくなる
かと思います。
2007-08-25 03:45
[1249] Re: MQStationPlugin::Initializeについて / O.Mizno
>しかし実際には「プラグインについて」を開いた段階で既に読み込まれている
>プラグインのInitializeが呼び出され、Exit()が呼び出されないまま
>Initializeが2回呼び出される事になってしまいます。

多重に呼ばれるのは本体側のバグで、SDKのドキュメントにあるように
Initialize()/Exit()はDLLのロードに対して一回しか呼ばれないのが
正しい仕様です。
サンプルのソースでは念のため多重チェックを入れていたので気づきませんでした。

Ver2.4.4でInitialize()が多重に呼ばれることがないように修正しましたが、
すぐにバージョンアップしないユーザーへの配慮として、多重呼び出しへの
チェックは入れていただけると幸いです。
お手数ですがよろしくお願いいたします。
2007-08-26 23:46
タイトル
お名前
レス通知メールアドレス レスがつくとこのアドレスにメールが通知されます。メールアドレスは投稿後に表示されることはありません。
タグ プリセットから指定するか、コンマ区切りで任意のタグを複数入力できます。
メッセージ

現在ファイル添付機能は一時的に利用できません。