说明:
我新建一个工程,两个DIALOG,头文件分别是: "MemScanDlg.h" "Process.h"
在MemScanDlg里声明和写入的代码是:CProcess* dlgProcess;  // 头文件里声明
int Pid; //声明一个变量dlgProcess = new CProcess; // 在类构造中初始化
//////////// i下面是显示出来
dlgProcess->Create(IDD_DLG_PROCESS,this);
dlgProcess->SetWindowPos(NULL,rect.right,rect.top,0,0,SWP_NOSIZE|SWP_SHOWWINDOW);void CMemScanDlg::UpProcessID(int Pid)
{
        UpdateData(TRUE);
        m_PID = Pid;
        UpdateData(FALSE);
}
下面问题来了:
下面的代码是在Process.cpp里的一个按键事件里写入的
        CMemScanDlg* dlgScan = new CMemScanDlg;
        m_Pid = 10;
        //dlgScan->UpProcessID(m_Pid);   //看下这两句
        //dlgScan->pid = m_Pid;
        delete dlgScan;
上面 注释的两句代码均不能传递到CmemScanDlg类里声明的变量去!!  如何才能传递值呢?大牛,大虾 帮帮小菜我好不?

解决方案 »

  1.   

    CMemScanDlg* dlgScan = new CMemScanDlg;dlgScan ->create(....);//这里没有创建  m_Pid = 10;
      //dlgScan->UpProcessID(m_Pid); //看下这两句
      //dlgScan->pid = m_Pid;
      delete dlgScan;
      

  2.   

    dlgProcess->Create(IDD_DLG_PROCESS,this); //BOOL Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );
    MemScanDlg是父窗口,可用GetParent()获得父窗口对象指针
      

  3.   

    你还没Create呢
    用的是非模态对话框,你就别delete了,刚出来就被你kill了
    delete写在你的对话框类的PostNcDestroy里面,delete this