Исправлено форматирование текста. — SchweinDeBurg

Вообшем такая ситуация есть главное окно в нем можно без проблем создавать переменные типа CButton CEdit и т.д. . Создал в ресурсах диалоговое окно к нему прицепил ещё один MFC класс (тоесть у нас уже два окна 1 основное и другое то из которого у нас вызывается второе окно созданое отдельно мной). Так вот во втором окне если я хочу объявить переменную на какой нить объект окна он её выделяет но при любом взаимодействии с объектом (нажал на кнопку или ввел что нить в CEdit) у меня вылетает ошибка . Внимание знатоки вопрос ... какого это не работает ?

(собственно код ниже). Вызываю это окно так CSloiDlg SloiWind; SloiWind.DoModal();
class CSloiDlg : public CDialog
{
DECLARE_DYNAMIC(CSloiDlg)
public:
CSloiDlg(CWnd* pParent = NULL); // standard constructor
virtual ~CSloiDlg();
// Dialog Data
enum { IDD = IDD_DATA_SLOI };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
private:
afx_msg void OnEnChangeDlgH(); // это все работает
afx_msg void OnEnChangeDlgD();
afx_msg void OnEnChangeDlgA();
afx_msg void OnEnChangeDlgN();
afx_msg void OnEnChangeDlgDel();
public:
CButton m_BtnOk; // а вот это
public:
CEdit m_Control_H; // и вот это не работает :(
};
IMPLEMENT_DYNAMIC(CSloiDlg, CDialog)
CSloiDlg::CSloiDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSloiDlg::IDD, pParent)
{
}
CSloiDlg::~CSloiDlg()
{
}
void CSloiDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDOK, m_BtnOk);
DDX_Control(pDX, IDC_Dlg_H, m_Control_H);
}
BOOL CSloiDlg::OnInitDialog()
{
return TRUE;
}
BEGIN_MESSAGE_MAP(CSloiDlg, CDialog)
ON_EN_CHANGE(IDC_Dlg_H, &CSloiDlg::OnEnChangeDlgH)
ON_EN_CHANGE(IDC_DLG_D, &CSloiDlg::OnEnChangeDlgD)
ON_EN_CHANGE(IDC_DLG_A, &CSloiDlg::OnEnChangeDlgA)
ON_EN_CHANGE(IDC_DLG_N, &CSloiDlg::OnEnChangeDlgN)
ON_EN_CHANGE(IDC_DLG_DEL, &CSloiDlg::OnEnChangeDlgDel)
END_MESSAGE_MAP()
Ещё вот что . Вызываю дебаг в основном окне работает сначала DoDataExchange(CDataExchange* pDX) а потом уже используется переменная. А во втором окне DoDataExchange(CDataExchange* pDX) или не срабатывает вообше или срабатывает в момент закрытия она ... о как
Здравствуйте, KAPTMEH, Вы писали:
может надо в духе:
BOOL CAsdfDlg::OnInitDialog()
{
CDialog::OnInitDialog();
return TRUE;
}
?!