Problem mit DoDataExchange
-
Hab mir aus Codeproject ein Hyperlink-Projekt in mein Programm eingebaut. Ziel ist es, in der About-Box einen Static Text mit einer Email-Adresse zu verlinken.
class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialogfelddaten enum { IDD = IDD_ABOUTBOX }; CMyHyperLink m_MyEmail; // Membervariable des Static Text BOOL OnInitDialog(void); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV-Unterstützung // Implementierung protected: DECLARE_MESSAGE_MAP() }; void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); // Static Text hat ID = IDC_HYPERLINK DDX_Control(pDX, IDC_HYPERLINK, m_MyEmail); // HIER TRITT DER FEHLER AUF! } BOOL CAboutDlg::OnInitDialog(void) { m_MyEmail.SetLinkUrl("mailto:mailaddress@mail.com") return 0; } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() END_MESSAGE_MAP()
Der Fehler tritt beim Schließen der About-Box auf, es kommt in der dlgdata.cpp zu einer unbehandelten Ausnahme bei
ASSERT(!pDX->m_bSaveAndValidate);
Wo liegt das Problem? Habe ich was vergessen/übersehen?