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