主題:
[求助]
[問題]被一個CFile搞到莫名奇妙...
[打印本頁]
發表人:
deep_dream
時間:
2009-11-29 05:09 PM
主題:
[問題]被一個CFile搞到莫名奇妙...
基本上問題非常簡單,但我卻怎麼也跳不出這奇怪的框框...
在查過CFile的使用方法之後....
基本上只要在新增專案的時候有設定好MFC,該載入的標頭檔自然也都有了~
#include <afx.h>
#include <afxwin.h> // MFC 核心與標準元件
#include <afxext.h> // MFC 擴充功能
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxdtctl.h> // MFC 支援的 Internet Explorer 4 通用控制項
#endif
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC 支援的 Windows 通用控制項
#endif // _AFX_NO_AFXCMN_SUPPORT
使用上也很簡單~
宣告: CFile mFile;
開啟: mFile.Open(FilePath, CFile::modeCreate | CFile::modeWrite);
寫入: mfile.Write(Data,DataLen);
mFile.Flush();
關閉: mFile.Close();
而我的情形是,我有分很多的Function~有用Initial()來開啟,用WriteData()來寫入,用WriteData()來關閉~~~
然候我就想說要設「全域」的CFile....
然候就掛了....
CFile mFile;
Initial(){...}
WriteData(){...}
WriteData(){...}
我是宣告在Funciton的外面呀~
我甚至還試著加static 在前面,但都是不行~
當然,如果都放在同一個Function之內是一定可以的,但是我還有其它事件要做,我不可能全都丟在一個Function裡面呀...
搞了很久,到底要怎麼設才用使用全域的呀~~~
對了,補上錯誤訊息~
錯誤 1 error C2248: 'CObject:
perator =' : 無法存取 private 成員 (宣告在類別 'CObject' 中) c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afx.h 1126
所以我需要建立物件才能使用這個類別?但是我看網路上的教學也都沒先建立物件也都可以使用呀~~~
[deep_dream 在 2009-11-29 05:16 PM 作了最後編輯]
發表人:
Ailio
時間:
2009-11-30 11:52 AM
我沒用過CFile
單純由PHP/JSP的邏輯來推斷
如果物件內屬性是Private 那在這物件外的地方 無法宣告屬性
也無法更改 必須透過物件內的Function來修改
如果妳要多重使用這物件 只要宣告多個物件就好了
例如
a = new 物件
b = new 物件
那 a.WriteData 跟 b.WriteData 就能控至兩個不同的物件
兩個物件也能有不同的屬性
發表人:
deep_dream
時間:
2009-11-30 11:01 PM
謝謝版主,我後來解決了~~~
原來是其它的地方有問題,而並非是我的宣告有問題~~~
不過還是謝謝你的熱心!!!
歡迎光臨 TWed2k (http://twed2k.org/)
Powered by Discuz! 4.1.0