subject_23424.htm
来自「一些关于vc的问答」· HTM 代码 · 共 18 行
HTM
18 行
<p>
序号:23424 发表者:application 发表日期:2002-12-04 09:44:08
<br>主题:帮我看看错在哪?
<br>内容:CObArray FlowLists;<BR><BR>void CFlowOADoc::OnFileSave() <BR>{<BR> CString szContactsFile;<BR> szContactsFile="c:\\test.dat";<BR> CFile file;<BR> if( file.Open( szContactsFile, CFile::modeCreate | CFile::modeWrite ) )<BR> {<BR> CArchive ar(&file, CArchive::store);<BR> FlowLists.Serialize(ar);//执行此句出错<BR> ar.Close();<BR> file.Close();<BR> }<BR> <BR> AfxMessageBox("Save OK.");<BR> <BR>}<BR><BR>错误信息如下:<BR>An unsupported operation was attempted.<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:闹腾 回复日期:2002-12-04 13:02:57
<br>内容:FlowLists.Serialize的函数原形定义成Serialize(CArchive& ar)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:tjhe 回复日期:2002-12-04 21:58:58
<br>内容:CObArray FlowLists数组中的元素类型可能不支持Serialize操作,参照如下方式执行没有问题:<BR><BR>//ttob.h<BR>#ifndef TTOB_H<BR>#define TTOB_H<BR>class ttOb : public CObject <BR>{<BR>DECLARE_SERIAL( ttOb ) //此句必须<BR>public:<BR> ttOb();<BR> virtual ~ttOb();<BR> virtual void Serialize(CArchive& ar); //此句必须<BR>protected:<BR> int c1;<BR> int c2;<BR>};<BR>#endif<BR><BR>//ttob.cpp<BR>#include "stdafx.h"<BR>#include "ttOb.h"<BR><BR>IMPLEMENT_SERIAL( ttOb, CObject, 1 ) //此句必须<BR><BR>ttOb::ttOb()<BR>{<BR> c1 = 10;<BR> c2 = 5;<BR>}<BR><BR>ttOb::~ttOb()<BR>{<BR><BR>}<BR><BR>void ttOb::Serialize(CArchive& ar) //必须<BR>{<BR> if (ar.IsStoring())<BR> {<BR> // TODO: add storing code here<BR> ar << c1;<BR> ar << c2;<BR> }<BR> else<BR> {<BR> // TODO: add loading code here<BR> ar >> c1;<BR> ar >> c2;<BR> }<BR>}<BR><BR><BR>//tt1.doc.cpp中<BR>void CTt1Doc::OnFileSave() <BR>{<BR> // TODO: Add your command handler code here<BR> CObArray FlowLists;<BR> ttOb t1,t2,t3;<BR> FlowLists.Add(&t1);<BR> FlowLists.Add(&t2);<BR> FlowLists.Add(&t3);<BR><BR> CFile file;<BR> if( file.Open( "tt.dat", CFile::modeCreate | CFile::modeWrite ) )<BR> {<BR> CArchive ar(&file, CArchive::store);<BR> FlowLists.Serialize(ar);<BR> ar.Close();<BR> file.Close();<BR> }<BR> <BR> AfxMessageBox("Save OK.");<BR>}<BR><BR><BR>运行结果正确<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?