有关保存全局数据的问题 王老师能不能给讲讲 DocData类的作用?
<P>// StdArx.h : include file for ObjectARX/DBX include files</P><P>extern AsdkDataManager<CDocData> DocVars;<BR>#define mydlginfo DocVars.docData();</P>
<P>在DocData.h中定义了几个字符串变量</P>
<P>class CDocData<BR>{<BR>public:<BR> CDocData();<BR> CDocData(const CDocData &data) ;<BR> ~CDocData();</P>
<P> // NOTE: DO NOT edit the following lines.<BR> //{{AFX_ARX_DATA(CDocData)<BR> //}}AFX_ARX_DATA</P>
<P> // TODO: here you can add your variables<BR> // which depends on a document / database.<BR> CString m_strdown;<BR> CString m_strleft;<BR> CString m_strright;<BR> CString m_strup;</P>
<P>};</P>
<P>在DocData.cpp中将几个字符串变量并初始化为空</P>
<P>CDocData::CDocData(const CDocData &data)<BR>{<BR> // TODO: add your own initialization.<BR> m_strdown="";<BR> m_strleft="";<BR> m_strright="";<BR> m_strup="";<BR>}</P>
<P>在自己的对话框实现文件中想将输入到对话框的结果保存到全局中,</P>
<P>void MyDlg1::OnOK() <BR>{<BR> // TODO: Add extra validation here<BR> if (!UpdateData(TRUE))<BR> {<BR> return;<BR> }</P>
<P> //把结果保存到全局<BR> mydlginfo.m_strdown=m_strdown; <BR> mydlginfo.m_strup=m_strup; <BR> mydlginfo.m_left=m_left; <BR> mydlginfo.m_right=m_right; <BR> <BR> CAcUiDialog::OnOK();<BR>}</P>
<P>但是编译的时候出现了</P>
<P>Compiling STL header files in release mode.<BR>O:\ARX学习\MDialog\MyDlg1.cpp(98) : error C2143: syntax error : missing ';' before '.'<BR>O:\ARX学习\MDialog\MyDlg1.cpp(99) : error C2143: syntax error : missing ';' before '.'<BR>O:\ARX学习\MDialog\MyDlg1.cpp(100) : error C2143: syntax error : missing ';' before '.'<BR>O:\ARX学习\MDialog\MyDlg1.cpp(101) : error C2143: syntax error : missing ';' before '.'</P>
<P>怎么会出现这样的错误呢??想不明白?</P> <P>全局数据不用声明在DocData类中,声明在外部就可以,至于DocData有什么特殊的用途,我也不知道,sdk中的例子也没找到关于它的具体应用,如果是编译不通过,可以把你的整个工程发上来,我调试看一下</P>
reply
<P>例子:</P>
页:
[1]