问:如果我在dll中打开的对话框 a 中又顺延下去DoModal()一个对话框 b,请问如何设置一个全局访问指针使得在 b 中能使用 a 中的变量。
是这样定义吗:
#define eApp ((CDllApp*)(AfxGetApp()))
#define MainDlg   ((NoMt*)(eApp->m_pMainWnd))

解决方案 »

  1.   

    不用全局指针,用构造函数还实现,
    比如:
    b::b(a *adlg)
    {
    m_a = adlg; // m_a是b的成员变量;
    }
    c::c(b *bdlg)
    {
    m_b = bdlg; // m_b是c的成员变量;
    }
    这样就可以了啊,你就可以c.m_b.m_a就可以用a中的方法了,或者变量了
      

  2.   

    或者
    比如:
    b::b(a *adlg)
    {
    m_ba = adlg; // m_ba是b的成员变量;
    }
    c::c(b *bdlg)
    {
    m_ca = bdlg.m_ba; // m_ca是c的成员变量;
    }c cdlg;
    cdlg.m_ca;//这就是你要的a对象了!这样也可以!