1

VS 2008 を使用して、Vista でリボン アプリケーションを開発しました。Vista で正常に動作します。XPでも実行できるように、MFCを静的にリンクします。

しかし、XPで実行すると、「必要なリソースが利用できませんでした」というダイアログボックスが表示されます。後でこのダイアログで [OK] を押すと、「不適切な引数が発生しました」という別のダイアログが表示されます。タスクマネージャーから終了するまで、そのような(「遭遇しました....」)ダイアログが(次々に)続きます。

興味深いことに、このシナリオは、マウス ポインターをリボン バーの上に置いただけで発生するということです。私は他に何もしません。次に、タスク マネージャーを開くと、使用されているメモリが 1 秒ごとに 8 バイトずつ増加していることがわかります。最終的に上記のシナリオが続きます。

???????

4

2 に答える 2

0

リボンは、Vista の Win32 共通コントロールの一部である可能性があります (したがって、XP では使用できません)。つまり、MFC を静的にリンクしていても、探しているリソースを保持しているのは MFC ではない可能性があります。

これが正しいかどうか本当にわからないので、コミュニティ wiki を作成します :-)。

于 2009-02-05T04:21:18.303 に答える
0

この問題を引き起こしているコードにリソース リークがありました。

リボン バー コントロール (ON_UPDATE_COMMAND_UI) の更新中に GetDC() を呼び出しましたが、解放していませんでした。ReleaseDC(..) を使用してリリースすると、問題が修正されました。

すべての返信に感謝します。

于 2009-02-06T10:15:12.050 に答える