本人想打开一个文件并读取文件。
过程:
应用类 CDrawApp::OnFileOpen() 函数里得到CMainFrame指针pFrame在通过 这个指针得到CDrawDoc *pDoc文档类的指针,然后操作CDrawDoc类里的成员变量m_X1,但是程序执行并打开一个文件的时候程序报错(是非法操作内存错误)
写法如下,
CDrawApp::OnFileOpen()
{
CMainFrame *pFrame = (CMainFrame *)(AfxGetApp()->m_pMainWnd);
CDraw1Doc *pDoc = ((CDraw1Doc *)pFrame->GetActiveDocument());pDoc->m_X1 = 100;
:://略
:
}
各位大虾,小虾我做的不对吗?我觉得对呀,可是为什么不让我操作文挡里的数据呢?
谢过先!!!!
过程:
应用类 CDrawApp::OnFileOpen() 函数里得到CMainFrame指针pFrame在通过 这个指针得到CDrawDoc *pDoc文档类的指针,然后操作CDrawDoc类里的成员变量m_X1,但是程序执行并打开一个文件的时候程序报错(是非法操作内存错误)
写法如下,
CDrawApp::OnFileOpen()
{
CMainFrame *pFrame = (CMainFrame *)(AfxGetApp()->m_pMainWnd);
CDraw1Doc *pDoc = ((CDraw1Doc *)pFrame->GetActiveDocument());pDoc->m_X1 = 100;
:://略
:
}
各位大虾,小虾我做的不对吗?我觉得对呀,可是为什么不让我操作文挡里的数据呢?
谢过先!!!!
要是多文档的话,是不是得用当前子框架的pFrame->GetActiveDocument());
GetActiveFrame();来取得把!
CChildFrame *pFrame = (CChildFrame *)(AfxGetApp()->m_pMainWnd);
CDraw1Doc *pDoc = ((CDraw1Doc *)pFrame->GetActiveDocument());
pDoc->sss = 100;
还是出错!!究竟错在哪呢?
MDIChildWnd* pFrame=(CMDIChildWnd*)((CFrameWnd*)AfxGetApp()->m_pMainWnd)->GetActiveFrame();
CDraw1Doc *pDoc = ((CDraw1Doc *)pFrame->GetActiveDocument());谢谢 sujiayi(sujiayi) !!!