类指针对象在对话框间传递异常

类指针对象在对话框间传递错误
个人先定义了一个类CSensorInfo用户存储传感器信息:
#pragma once
class CSensorInfo: public CObject
{
public:
CSensorInfo(void);
~CSensorInfo(void);
public:
//CRect plateRc;//实验板信息
UINT nSrNumber;//传感器数目
CString strSrName;//传感器名
CString strSrPointX;//传感器x坐标
CString strSrPointY;//传感器y坐标
CString strSrRcvFilName;//传感器接收数据文件名
};


后分别在要需要进行参数传递的对话框类ADlg、BDlg头文件中添加
#include<SensorInfo.h>头文件
并定义参数
public:
CSensorInfo SrInfo,*pSrInfo;成员变量

在对话框类的构造函数中添加对应初始话
  pSrInfo=NULL;
 pSrInfo=&SrInfo;//对类进行初始化

在ADlg对话框按钮响应函数中对指针类进行类指针对象的赋值,如下
void ADlg::OnClickedAddSensor()
{
// TODO: 在此添加控件通知处理程序代码
sensorNb++;
pSrInfo->nSrNumber=sensorNb;
GetDlgItemText(IDC_SENSOR_NAME,pSrInfo->strSrName);
GetDlgItemText(IDC_SENSOR_X,pSrInfo->strSrPointX);
GetDlgItemText(IDC_SENSOR_Y,pSrInfo->strSrPointY);
}



在另一个对话框中BDlg的参数传递函数中实现将ADlg对话框该类指针对象的参数传递进来

void BDlg::OnNewProject()

// TODO: 在此添加命令处理程序代码
ADlg pjt;
if(pjt.DoModal()==IDOK)
{
pSrInfo=pjt.pSrInfo;
SetDlgItemText(IDC_EDIT1,pSrInfo->strSrPointX);
}
}


但是在传递过程中发现参数出现前后不一致的现象:
下图是类在对话框ADlg中的值
类指针对象在对话框间传递异常
而传递到BDlg中却成了这样
类指针对象在对话框间传递异常
这是为什么啊?请大神解救!




------解决方案--------------------
ADlg中的SrInfo是成员变量
他会随着ADlg对象的销毁而销毁
它的指针自然也就成了野指针
------解决方案--------------------
引用:
Quote: 引用:

ADlg中的SrInfo是成员变量
他会随着ADlg对象的销毁而销毁
它的指针自然也就成了野指针

您好!
我把返回值改为SrInfo,就没有问题了;
原因还是比较困惑
改为 SrInfo这个对象就被拷贝出来了
也就不存在野指针的问题了
------解决方案--------------------
浅拷贝和深拷贝的问题,了解一下吧。