Metasequoia BBS

| New message | Normal | Tree |
Status
Tag
Keyword
[1244] MQStationPlugin::Initializeについて / Jama
Done [SDK] Response
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
Title
Name
Mail address for renponse notification A mail will be sent when the response is written. This address will be not shown after you post.
Tag Please select from a preset or input arbitrary comma-delimited tags.
Message

Now file attachment is not available temporarily.