多文档框架类中操作子窗口中变量

来源:百度知道 编辑:UC知道 时间:2024/09/22 11:40:49
定义了一个指向类的指针,主要是向调用它的成员,请问如何对这个指针进行初始化,比如我定义的指针是CIcmainDlg *m_pIcmaindlg,如何对它初始化呢?

CIcMian *Icmain=NULL;
Icmain->m_Lamp.SetBitmap(Icmain->hok);
其中m_Lamp是一个静态图像关联的变量,hok是一个HBitmapl类型的变量,已经载入了图像,
每次运行到Icmain->m_Lamp.SetBitmap(Icmain->hok)时候就会出现错误,说指令指向的内存不能为"read",这是什么原因呢?

这个语句是在多文档框架类中的一个函数中,CIcMain是一个子窗口类,我想在框架类中操作子窗口中的这个图像。
怎么实现在框架类里操作子窗口中的变量呢?

得先让指针让向有效对象才能用, 你明显地给它置为 NULL, 当前是无效的了, 应该这样:
CIcMain *Icmain = new CIcMain;
if (Icmain != NULL)
Icmain->m_Lamp.SetBitmap(...);

CIcMian *Icmain=NULL; 你的错误不是操作错误是因为你没有为这个类指针分配一个类实例。CIcMain *Icmain = new CIcMain;

如果你 想操作它的话,,本身 CIcMian *Icmain=NULL; 应该在 c***mainframe 中定义, 有个这个指针,,你就可以在mainframe 直接调用。

的确是因为你的指针没有初始化就去调用了。。。。
你应该参考1楼建议,然后再这一段代码中每条语句都加上
Try{ }
catch{ 输出一个错误提示对话框 }

这样你的非编译错误就很容易看出来了