我在CMYView中自定义了一个方法CMYView::GetAFileName()
从CMyDoc成员变量中得到一个字符串,作为文件名。
要求:
1.在新的窗口中打开。
2.在墨一个行的后面把文件的内容读出来,追加我当前的做法1:(部分代码)
void CMYView::GetAFileName()
{
....
CString filename = "c:\work\test.txt";
CMYDoc::OnOpenDocument(filename);
...
}
显示illegal call of non-static member function
做法2:把OnFileCall声明为static
//static void OnFileCall(char *);
void CMYView::GetAFileName()
{
....
CString filename = "c:\work\test.txt";
CMYDoc::tempFileCall((char*)filename);
...
}
void CMyDoc::tempFileCall(char *filename)
{
OnOpenDocument(filename)
}
错误依旧!!!
那位高人职点!!
先送100分!
能详细解答问题1,2的再送100分!!决不食言!
从CMyDoc成员变量中得到一个字符串,作为文件名。
要求:
1.在新的窗口中打开。
2.在墨一个行的后面把文件的内容读出来,追加我当前的做法1:(部分代码)
void CMYView::GetAFileName()
{
....
CString filename = "c:\work\test.txt";
CMYDoc::OnOpenDocument(filename);
...
}
显示illegal call of non-static member function
做法2:把OnFileCall声明为static
//static void OnFileCall(char *);
void CMYView::GetAFileName()
{
....
CString filename = "c:\work\test.txt";
CMYDoc::tempFileCall((char*)filename);
...
}
void CMyDoc::tempFileCall(char *filename)
{
OnOpenDocument(filename)
}
错误依旧!!!
那位高人职点!!
先送100分!
能详细解答问题1,2的再送100分!!决不食言!
解决方案 »
- 将数组传递到函数,提示错误?
- WebBrowser的Navigate方法能不能连续使用?
- 请各位指教!C++
- mfc中CArray不就够了,搞些CByteArray,CUIntArray,CStringArray,CObArray,CPtrArray干什么?
- release版程序出错(打开view时MFC42.dll出错,而在debug版正常)!
- 急求帮忙,CString比较如何不区分大小写
- 怎样将dialog这种resource和CLASS联系起来,我用classwizard老是报错,不能建立联系
- 急救,怎么用vc语言调用动态库boxodbc 动态建立数据库 高手帮忙,请立即回复
- 如何用VC删除Excel表中的数据?谢谢!!
- 请问对于多线程的程序如何调试?
- 将《MFC深入浅出》(侯捷 著)看到第八章的同志进来一下
- odbc连接问题---求救
virtual BOOL OnOpenDocument( LPCTSTR lpszPathName );
你把原来的程序改为
CMYDoc::OnOpenDocument((LPCTSTR)filename);试一试
应该是CString filename = "c:\\work\\test.txt";
给分!!!!!!!!!!!!!!!!
CMyDoc* pDoc = GetDocument();
pDoc->OnOpenDocument(filename);
to:zhenxizhou(天上人间)
传入参数不对,按照你的修改。
但是不能用CMYDoc::来调用。错误依旧,正确的方法应该如“laolio(坐看云起时) ”兄台所写,具体原因,不知道能否由他回答,我马上就分配分数。
to:9731boy(鸟牙)
你的功劳我记住了,解分的时候,不会食言
to:laolio(坐看云起时)
为什么一定要这样调用?
CMyDoc* pDoc = GetDocument();
pDoc- >OnOpenDocument(filename);
直接指定CMYDoc::OnOpenDocument(LPCTSTR filename)不可以吗?
可以给解释一下吗?或者推荐一下参考资料?
顶
可能CMYDoc的OnOpenDocument(LPCTSTR filename)中用到了CMYDoc中其他的
非static成员变量,没有this指针,结果就出现:
illegal call of non-static member function
所以一定要象9731boy(鸟牙)那样来处理。