我程序有一个主对话框为之创建的类为CMainDialog
在主对话框中用一个按钮产生一个子对话矿,为止创建的类为CSubDialog
现定义一个全局变量static int var;
在主对话框中OninitDialog()中有var=0;
启动主对话框后,按按钮
弹出子对话框
在子对话框中
有var=100;
确定后
回到主对话框后
怎么var=0?
这是什么原因啊?请高人指点!!!

解决方案 »

  1.   

    你试试在主对话框的构造函数中给VAR符值后还会不会产生这样的问题的!
      

  2.   

    ...
    按按钮,弹出子对话框  <-----
    在子对话框中
    有var=100;
    确定后,回到主对话框后 <----
    ...请给出上面向左键头 <--- 所指的代码实现部分。
      

  3.   

    BOOL UpdateData( BOOL bSaveAndValidate = TRUE );Return ValueNonzero if the operation is successful; otherwise 0. If bSaveAndValidate is TRUE, then a return value of nonzero means that the data is successfully validated.ParametersbSaveAndValidateFlag that indicates whether dialog box is being initialized (FALSE) or data is being retrieved (TRUE).ResCall this member function to initialize data in a dialog box, or to retrieve and validate dialog data.
      

  4.   

    UpdateData(true)这个是对对话框控件用的!你的变量不需要吧!
    请给出所有对var操作的代码,static int var;
    全局变量完全可以不这么定义!
    static的作用是什么?用debug看看,var是怎么改变的!
    不会有问题的!
      

  5.   

    ///////////////////////
    启动主对话框后,按按钮
    弹出子对话框
    在子对话框中
    有var=100;
    确定后
    回到主对话框后
    //////////////////////
    在弹出子对话框的时候有没有关闭主对话框?
      

  6.   

    谢谢大家,我调试了!puhuofeie(扑火飞蛾) sgnaw(李逍遥) 谢谢! 分数少了!!!
    我把变量全局变量赋给指针是行的!
    BOOL CWaveExtDlg::OnInitDialog()
    {
    CDialog::OnInitDialog(); // Add "About..." menu item to system menu.
    waveformatex.wFormatTag = WAVE_FORMAT_PCM;
    waveformatex.nChannels = 1;
    waveformatex.nSamplesPerSec = 16000;
    waveformatex.nBlockAlign = 2;
    waveformatex.wBitsPerSample = 16;
    waveformatex.nAvgBytesPerSec = 16000*waveformatex.wBitsPerSample/8;
    waveformatex.cbSize = 0; pDialog = new CMyDialog();
    if (pDialog==NULL)
    {
    AfxMessageBox("fail to create the dialog object!");
    return FALSE;
    }
    if (pDialog->Create(IDD_MYDIALOG,this)==NULL)
    {
    AfxMessageBox("fail to create the Sub-Dialog!");
    return FALSE;
    }
    pDialog->ShowWindow(SW_HIDE);
    pDialog->pWaveform =&waveformatex;//就是这样干的,否则不行!!!!
    ....
    }