MFCアプリケーションからカスタムActiveXコントロールをロードするときに、CWnd :: CreateControlメソッドに問題があります。MFC CWnd :: CreateControlメソッドの問題
実装されているカスタムActiveXコントロールのリストがあります。CWnd :: CreateControlメソッドを呼び出すCreateメソッドを呼び出します。
私はダイアログウィンドウを持っていますが、OnInitDialogではSettimer()を使ってタイマースレッドを開始しました。 OnTimerイベントでは、それぞれのコントロールのCreateメソッドを呼び出すことによって、すべてのコントロールをロードしています。ダイアログウィンドウを10回以上開いたり閉じたりした後、OnTimerはcontolsを読み込むことができません。
私はfalseである戻り値と0x0であるGetLastError(操作が成功した)をチェックしました。私は完全にデバッグしていて、このイベントの前にすべてのエラーの可能性をチェックしました。コントロールをロードしなかった原因を見つけることができませんでした。
ありがとうございました。私はこの問題を解決しました。この問題は、COM規則で実装されていない一部のActiveXコントロールで発生します。 InitInstance()メソッドではCoInitialize()メソッドを呼び出し、ExitInstance()メソッドではCoUninitialize()メソッドを呼び出す必要があります。この問題の原因となる方法では行われません。いったん完了すると、問題は解決されます。 –