Windows XPのMFCのリボンのアプリケーションを実行している「不適切な引数が発生しました」
質問
私はそれがVista上で正常に動作VS 2008を使用してVista上でリボンのアプリケーションを開発しました。私もXP上でそれを実行できるように、私は静的にMFCにリンク。
しかし、私はXP上でそれを実行すると、それは「必要なリソースがunavailbleだった」と言ってダイアログボックスを表示します。 私は、このダイアログで[OK]を押すと、後でそれが「不適切な引数が発生しました」と言って別のものを置きます。私は、タスクマネージャからそれを終了するまで、多くの(「が発生しました....」)、このようなダイアログは(次々に)従っています。
私は気づいた興味深いのは、私はちょうどリボンバーの上にマウスポインタを置くと、このシナリオが発生することです。私は他に何もしません。私は、タスクマネージャを開いて、使用するメモリが毎秒で8つのバイトによって増大していることがわかります。最終的に上記のシナリオが続く。
?????
解決 2
この問題を引き起こしていた私のコードでリソースリークがありました。
私は、リボンバーコントロール(ON_UPDATE_COMMAND_UI)を更新しながら、GetDC()と呼ばれていたが、それをリリースしていませんでした。 ReleaseDCの(..)を使用して、それを解放する問題を修正します。
すべての返信をお寄せいただきありがとうございます。
他のヒント
これはよくリボンが(XPの下でそれゆえ利用できない)VistaのWin32のコモンコントロールの一部である可能性があります。あなたは静的にMFCにリンクされているものの、他の言葉では、それはあなたが探しているリソースを保持しているMFCできない場合があります。
私は本当に分からないので、これが正しい場合は、コミュニティのwikiを作る: - 。)