怎么在一个对话框中使用另一个对话框中的变量

如何在一个对话框中使用另一个对话框中的变量?
新手求教:我有两个对话框,在一个对话框中定义了一个串口类的变量,在切换到另一个对话框时我还想使用这个变量对串口进行操作,该如何使用呢?
我之前做过:在隐藏第一个对话框时把这个串口关闭,并把串口对象delete掉,然后在另一个对话框初始化时,申明一个第一个对话框类的对象,在用这个对象中的串口变量操作,但在进入第二对话框时程序就死掉了。

------解决方案--------------------
在Dialog2中定义一个Set方法,比如:
void SetParam(CCommObj* pComm);
显示Dialog2之前调用这个方法,将comm对象传入
------解决方案--------------------
那将第二个对话框的构造函数带上串口参数,C**Dlg(** comm);
在第一个程序关闭的响应函数OnClose中,创建对话框时将对话框1中的串口成员变量传入,
C**Dlg dlg=new C**Dlg(m_hComm);
dlg.Create( ....
------解决方案--------------------
传递指针就可以
其实整个程序的模块结果需要调整一下
如果把底层串口数据操作由一个管理类管理,然后其他上层模块调用这个管理类接口,这样程序思路会清晰些,也不会遇到频繁new or delete的问题
------解决方案--------------------
我的建议是:
单独起一个类,里面有单独的线程,然后把所有的数据处理都放在这里;同时这个类提供接口,允许你的两个窗口读取数据,和发送数据,这样就不用担心多次打开串口的问题。