Re: Can't read CString after serialization
- From: "Tom Serface" <tom.nospam@xxxxxxxxxxxxx>
- Date: Mon, 10 Mar 2008 22:32:10 -0700
You didn't say which version of C++ you are using (although you did mention one of the ATL functions), but this might be your problem:
http://support.microsoft.com/kb/193100
Are you building in Unicode? Perhaps you could also list your serializing code and that might reveal something. These kinds of problems are why I typically don't use serializing any more. I like to use XML, but any kind of ASCII based file format would work in my opinion. They are easier to read when you want to change the versions and/or access it from another program. You may also find this article interesting:
http://www.codeproject.com/KB/cpp/serialization_primer1.aspx
Note, this is part 1 of 3 parts.
Tom
"Alexh" <alexh1@xxxxxxxxxxxxx> wrote in message news:9d0514d8-6156-4bd2-9e94-8b8da3292b60@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi,
I have a CArray <MyClass, MyClass&> MyClassArray. MyClass contains
various elements, int, double and a CString (ex. MyString).
MyClass.cpp has the necessary Serialize statement.
In my code, MyClassArray is generated as necessary and serialized to a
file. Later it is read from the file and restored into MyClassArray.
At this point I get an error whenever I access the CString element in
MyClass.
I can access all other int or double elements in MyClass just fine.
However, any access of the form -
MyCArray.GetAt(i).MyString or -
MyClass = MyCArray.GetAt(i);
MyString1 = MyClass.MyString;
gives a run time error in the MS file atlsimpstr.h. Here is the line
from the file-
// This is a part of the Active Template Library.
// Copyright (C) Microsoft Corporation
// All rights reserved.
static CStringData* __cdecl CloneData( __in CStringData* pData )
{
CStringData* pNewData = NULL;
IAtlStringMgr* pNewStringMgr = pData->pStringMgr->Clone(); /////this
line fails
All of the vars on that line are reporting as "expression cannot be
evaluated". Any idea what's going on here? I don't think it's
something obvious because as I said, all of the numeric elements are
accessible.
Thanks
.
- Follow-Ups:
- Re: Can't read CString after serialization
- From: Giovanni Dicanio
- Re: Can't read CString after serialization
- From: Alexh
- Re: Can't read CString after serialization
- References:
- Can't read CString after serialization
- From: Alexh
- Can't read CString after serialization
- Prev by Date: Can't read CString after serialization
- Next by Date: Re: CStatic multi line
- Previous by thread: Can't read CString after serialization
- Next by thread: Re: Can't read CString after serialization
- Index(es):
Relevant Pages
|
Loading