有一个图像小波变换的问题首先,我定义了一个cdib的类,里面定义serialize的函数:void CDib::Serialize(CArchive& ar)
{
DWORD dwPos; // 获得此归档文件的CFile对象指针
dwPos = ar.GetFile()->GetPosition();
TRACE("CDib::Serialize -- pos = %d\n", dwPos); // 从归档文件缓冲区中冲掉未写入数据
ar.Flush(); // 重新获得此归档文件的CFile对象指针
dwPos = ar.GetFile()->GetPosition();
TRACE("CDib::Serialize -- pos = %d\n", dwPos); // 确定归档文件是否被存储,是则进行存储
if(ar.IsStoring()) {
Write(ar.GetFile());
} // 否则进行加载
else {
Read(ar.GetFile());
}
}另外一个类CDIBDisplayDoc,里面同样有个serialize的函数:{
m_pDibInit->Serialize(ar);
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}m_pDibInit的定义是 cdib* m_pDibInit;
但是程序在执行到m_pDibInit->Serialize(ar)的时候;
并没有调用cdib::serialize(),因此也就无法初始化m_opDibInit
为什么会出现这种情况呢?望大家帮我看看哈,谢谢了
{
DWORD dwPos; // 获得此归档文件的CFile对象指针
dwPos = ar.GetFile()->GetPosition();
TRACE("CDib::Serialize -- pos = %d\n", dwPos); // 从归档文件缓冲区中冲掉未写入数据
ar.Flush(); // 重新获得此归档文件的CFile对象指针
dwPos = ar.GetFile()->GetPosition();
TRACE("CDib::Serialize -- pos = %d\n", dwPos); // 确定归档文件是否被存储,是则进行存储
if(ar.IsStoring()) {
Write(ar.GetFile());
} // 否则进行加载
else {
Read(ar.GetFile());
}
}另外一个类CDIBDisplayDoc,里面同样有个serialize的函数:{
m_pDibInit->Serialize(ar);
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}m_pDibInit的定义是 cdib* m_pDibInit;
但是程序在执行到m_pDibInit->Serialize(ar)的时候;
并没有调用cdib::serialize(),因此也就无法初始化m_opDibInit
为什么会出现这种情况呢?望大家帮我看看哈,谢谢了
解决方案 »
- 和SO_BROADCAST选项有关
- 在SERVER端限制最大连接200,那么超过200的话,怎么处理比较好? 拒绝?
- 大家都在外面做事.知道不容易.各们前蜚,看看我的情况.给我一个答案好吗?
- 怎样生成一位图,128*128,底色黑,正中为字“hello”,字体可在程序中修改
- 如何在对话框上加上一个图片,写点代码,谢谢
- 请大家千万别误解(common_man多次通过邮件帮我解决难题),具体难题在帖子上已经说明。让我们共同发扬这种互助互爱的精神,共同进步。做一
- 高分请教高手:对话框的焦点问题
- com接口函数设计的简单问题!
- MFC 登陆后进行修改密码 原始密码如何从.txt中读取出来
- 为什么我可用分这么多,发帖分0~0,csdn欺负我刚注册的呀
- 关于vs2005.net中的.clw问题
- 好像DCMconverter的代码有错误,请高手指教
.h: DECLARE_SERIAL(CDIB)
.cpp: IMPLEMENT_SERIAL(CDIB, CObject, 1)