こんにちは私はMFCでダイアログベースのアプリケーションを作成しています。
BOOL CClockMasterDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
m_ModeTabs.Create(this,WS_CHILD | WS_VISIBLE, 0);
}
を使用して作成した後に関数を破棄m_ModeTabs
した場合:CClockMasterDlg::OnInitDialog
m_ModeTabs.DestroyWindow();
私はメモリを取得しませんが、それを配置するとリークが発生します。CClockMasterDlg::OnDestroy()
メモリリークが発生します。それが呼び出されて返されるのは困難true
です。OnDestroy
私はそれがOnInitDialog
反対だとは思わないが、それではどの機能が正しいのだろうか?ありませんOnExitDialog
。
検出されたメモリリーク!オブジェクトのダンプ->{601}クライアントブロック0x00AEED48
、サブタイプc0、212バイト長。CMFCVisualManager
長さ212バイトの$00AEED48
オブジェクトオブジェクトダンプが完了しました。プログラム[5312] ClockMaster.exe: Native
はコード2(0x2)で終了しました。
ポインタではないので、タフなウィンドウでも自動的に破棄する必要があります。メモリリークが発生しないようにする必要がありますか?そして配置してから
m_ModeTabs.DestroyWindow();
作成された後のOnInitDialog
関数でメモリリークが解決された後、それは本当に問題を引き起こしている他の何かではありませんか?また、Alsoを削除するとメモリリークが解決されるので、それが原因でm_ModeTabs.Create(...
あると確信しています。m_ModeTabs