私は私が何をすべきかを理解したばかりの問題を抱えているので、多分あなたは私を助けることができます。
私はデータベースに接続し、値を表示し、ユーザーが値を更新/挿入できるようにするアプリケーションに取り組んでいます。
私はを持ってQTabView
おり、タブの1つの中に4つQTableWidget
のがあります。このテーブルの中には、(データベースの値に応じて)QComboBox
いくつかの事前定義された値を選択することがあります。QComboBox::selectedIndexChanged(int)
私はaでキャッチし、QSignalMapper
にslot
接続して、QSignalMapper
それがどのテーブルで、どの設定が変更されたかについての情報を提供します。時々、SettingsMapperを新しく作成して(そしてその前に削除して)、「古い」マッパーとコンボボックスの接続をリセットします。
したがって、問題は、コンボボックス内のインデックスを変更すると、スロットが呼び出され、信号/スロット接続のスイッチがあるmoc _ *。cppにデバッグできることですが、その後access violation on address 0xC0000005
、dll内に取得します。
ここにコールスタックがあります:
QtCored4.dll!6721af70()
[Frames below may be incorrect and/or missing, no symbols loaded for QtCored4.dll]
QtCored4.dll!67219fe5()
QtCored4.dll!67218f14()
QtCored4.dll!67218e48()
QtCored4.dll!6721903d()
QtCored4.dll!6720f874()
QtCored4.dll!6702429b()
QtCored4.dll!670316f3()
QtGuid4.dll!655b93f1()
QtGuid4.dll!650f99d0()
user32.dll!7e41885a()
user32.dll!7e41882a()
user32.dll!7e42b326()
msctf.dll!7472467f()
user32.dll!7e43e1ad()
user32.dll!7e43e18a()
QtCored4.dll!67234b9c()
user32.dll!7e42b372()
user32.dll!7e418734()
user32.dll!7e418816()
user32.dll!7e4189cd()
user32.dll!7e418a10()
QtCored4.dll!672359b6()
ntdll.dll!7c90cfdc()
ntdll.dll!7c958e0d()
ntdll.dll!7c95932a()
ntdll.dll!7c90cfdc()
ntdll.dll!7c9594ca()
ntdll.dll!7c919ca7()
ntdll.dll!7c918f01()
ntdll.dll!7c91925d()
ntdll.dll!7c918f01()
ntdll.dll!7c9101bb()
ntdll.dll!7c9192ef()
ntdll.dll!7c918f01()
ntdll.dll!7c9101bb()
user32.dll!7e4277b0()
user32.dll!7e4277f7()
ntdll.dll!7c90da0c()
kernel32.dll!7c8024c7()
msctf.dll!74725951()
msctf.dll!74725956()
user32.dll!7e418a80()
user32.dll!7e418734()
user32.dll!7e418816()
ntdll.dll!7c96c6a7()
QtCored4.dll!6723c8f6()
datProgram.exe!__tmainCRTStartup() Line 578 + 0x35 bytes C
datProgram.exe.exe!WinMainCRTStartup() Line 403 C
kernel32.dll!7c817067()
`
私が好奇心をそそるのは、別のタブにはQTableWidget
上記と同じ方法のタブがありますが、そこでは問題が発生しないということです。また、リリースバージョン(Ctrl + F5)で実行すると、問題も解消されたようです...ò.Ó
何かアドバイス?