[ad_1]
in my application need some scanner support ,I thought it is a good idea to get into TWAIN and try it out.after that I had an exit error that is driving me nuts as an Debug Assertion Failed.... in cmdtarg.cpp line 40 CCmdTarget::~CCmdTarget because m_dwRef is greater than 1 (in this case it is 2)
私が試したこと:
CCmdTarget::~CCmdTarget() { if (m_xDispatch.m_vtbl != 0) ((COleDispatchImpl*)&m_xDispatch)->Disconnect(); ASSERT(m_dwRef <= 1); m_pModuleState = NULL; }
//エラーメッセージ
'ScannerApp.exe' (Win32): Unloaded 'C:\Windows\twain_32.dll' Debug Assertion Failed! Program: C:\Windows\SYSTEM32\mfc140d.dll File: d:\a01\_work\11\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\cmdtarg.cpp Line: 40
解決策 1
投稿するのに十分なコードが投稿されていないため、回答がありません。 サンプル コードをチェックして、何か見落としがないか、単に間違ったことをしていないかを確認することをお勧めします。 ここに私が見つけたいくつかのサンプルがあります.2つはここにあります:
TWAIN の C++ ラッパー[^]
TWAINを利用したコピーユーティリティ[^]
TWAIN サンプル データ ソースとアプリケーション[^]
うまくいけば、それらの1つがあなたを助けることができます.
解決策 2
を見てみましょう ~CCmdTarget で m_dwRef アサート[^]
なんらかの理由で、コードのどこかでオブジェクトが解放されていないようです。
m_dwRef が 1 より大きいため – Google 検索[^]
解決策 3
に関するアサーション
ASSERT(m_dwRef <= 1);
1 つのことを意味します: オブジェクトが破棄される前に Release() を呼び出すのを忘れていました
解決策 4
1 つのプロジェクトに異なるバージョンの MFC を組み合わせると、同様の問題が発生する可能性があるというヒントがあります。
~CCmdTarget で m_dwRef アサート[^]
[ad_2]
コメント