Мне нужно использовать активх компонент в диалоге. Вот реализация(содранная по образу и подобию с WTLNavigator):
CComQIPtr<_DPdf> pdf;
IUnknown *m_pUnk;
...
LRESULT CMainDlg::OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
CWindow w= GetDlgItem(IDC_PDFCTRL2);
AtlAxGetControl(w, &m_pUnk);
pdf= m_pUnk;
pdf->LoadFile(L"C:\\Program Files\\Adobe\\Acrobat 5.0\\Help\\ENU\\ACROBAT.PDF");
return 0;
}
LRESULT CMainDlg::OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
m_pUnk->Release();
EndDialog(wID);
return 0;
}
это работает , до тех пор , пока не вызывается деструктор pdf, при выходе из программы.
Проблема, в том, что исчезает v_table.
Вопрос: чего не хватает в коде, для корректного завершения программы?