2012-04-15 158 views
0

問題が発生しています。私は IPベースのコールボイスIP上で使用されるプロジェクト "MicroSIP"を持っています。私はVS 2010にそれを実行しており、私は必要に応じてそれをカスタマイズするために が必要です。このために、メインダイアログ(Dialer) を編集し、他のコントロール(CEditの編集コントロール など)を追加し、「変数を追加」ウィザードのメンバー変数を追加すると、 「DoDataExchangeを更新できません方法"。 プログラムに新たに配置された "Edit Control"の参照を取得すると、NULLポインタまたは未定義参照があります。DoDataExchangeメソッドを更新できません:Visual Studio 2008またはVS 2010に変換されたVS2000オプション

IDC_EDIT_Addressidで、MAcAddressEditctrlCWndオブジェクトですそれはDDX_Control(pDX, IDC_EDIT_Address, MacAddressEditCtrl);の内側になりましクラッシュします。

void AFXAPI DDX_Control(CDataExchange* pDX, int nIDC, CWnd& rControl) 
{ 
    if ((rControl.m_hWnd == NULL) && (rControl.GetControlUnknown() == NULL)) // not subclassed yet 
    { 
     ASSERT(!pDX->m_bSaveAndValidate); 

     pDX->PrepareCtrl(nIDC); //it crashes here... 
     HWND hWndCtrl; 
     pDX->m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl); 
     if ((hWndCtrl != NULL) && !rControl.SubclassWindow(hWndCtrl)) 
     { 
      ASSERT(FALSE);  // possibly trying to subclass twice? 
      AfxThrowNotSupportedException(); 
     } 
#ifndef _AFX_NO_OCC_SUPPORT 

    else 
    { 
    if (hWndCtrl == NULL) 
    { 
     if (pDX->m_pDlgWnd->GetOleControlSite(nIDC) != NULL) 
     { 
      rControl.AttachControlSite(pDX->m_pDlgWnd, nIDC); 
     } 
    } 
    else 
    { 
      // If the control has reparented itself (e.g., invisible control), 
      // make sure that the CWnd gets properly wired to its control site. 
      if (pDX->m_pDlgWnd->m_hWnd != ::GetParent(rControl.m_hWnd)) 
       rControl.AttachControlSite(pDX->m_pDlgWnd); 
    } 
    } 
#endif //!_AFX_NO_OCC_SUPPORT 

} 
} 

答えて

0

私は、私はそれは私が別のダイアログのコードを操作しようとしていた全体のメインダイアログのコントロールでした.. を別のOnInitDialogのコードを配置して書かれたことを自分自身を実現。 ありがとうございました

関連する問題