A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Excel » General Discussion
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Problem with Deserialization



 
 
Thread Tools Display Modes
  #1  
Old May 20th, 2009, 12:34 PM posted to microsoft.public.excel.misc
Gaurav Nanda
external usenet poster
 
Posts: 1
Default Problem with Deserialization

Hi,

I am creating a excel plugin, where i have to create a Tree on Excel
worksheet, so while saving i also want to save the tree in serialized form as
a custom property of worksheet.

Hence, i am using a BinaryFormatter, which serializes the Tree object and
saves the result in form of a string and attach it to a cutom property of
sheet.This Works fine.

[Tree is comprised of nodes(NODE class, also marked serializable)], While
De-serializing, it works fine , untill number of nodes in tree exceeds 24.So
when N(nodes) 24 , i get two types of exceptions, any one of them randomly.

1)
at System.Runtime.Serialization.ObjectManager.Registe rObject(Object obj,
Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo
member, Int32[] arrayIndex)
at
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.RegisterObject(Object obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString)
at
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.ParseObjectEnd(ParseRecord pr)
at
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.Parse(ParseRecord
pr)
at System.Runtime.Serialization.Formatters.Binary.__B inaryParser.Run()
at
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.Deserialize(HeaderHandler
handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain,
IMethodCallMessage methodCallMessage)
at
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream
serializationStream, HeaderHandler handler, Boolean fCheck, Boolean
isCrossAppDomain, IMethodCallMessage methodCallMessage)
at
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream serializationStream)
at ProbTreeDemo.Connect.WorkBookOpened(Workbook myWorkBook) in
C:\Docs\Visual Studio 2005\Projects\ProbTreeDemo\Connect.cs:line 286

Error Message :- An object cannot be registered twice.

2)
at System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo
culture, BindingFlags invokeAttr)
at System.Reflection.RtFieldInfo.InternalSetValue(Obj ect obj, Object
value, BindingFlags invokeAttr, Binder binder, CultureInfo culture, Boolean
doVisibilityCheck, Boolean doCheckConsistency)
at
System.Runtime.Serialization.FormatterServices.Ser ializationSetValue(MemberInfo fi, Object target, Object value)
at
System.Runtime.Serialization.FormatterServices.Pop ulateObjectMembers(Object
obj, MemberInfo[] members, Object[] data)
at
System.Runtime.Serialization.Formatters.Binary.Rea dObjectInfo.PopulateObjectMembers(Object obj, Object[] memberData)
at
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.ParseObjectEnd(ParseRecord pr)
at
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.Parse(ParseRecord
pr)
at System.Runtime.Serialization.Formatters.Binary.__B inaryParser.Run()
at
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.Deserialize(HeaderHandler
handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain,
IMethodCallMessage methodCallMessage)
at
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream
serializationStream, HeaderHandler handler, Boolean fCheck, Boolean
isCrossAppDomain, IMethodCallMessage methodCallMessage)
at
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream serializationStream)
at ProbTreeDemo.Connect.WorkBookOpened(Workbook myWorkBook) in
C:\Docs\Visual Studio 2005\Projects\ProbTreeDemo\Connect.cs:line 286

Error Message:- Object of type 'ProbTreeDemo.TreeStructure.Node' cannot be
converted to type 'System.Object[]'.

Source is botth cases is "mscorlib".
Code at line 286:- Tree temp =(Tree)bformatter.Deserialize(stream);

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 03:45 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.