Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.misc
|
|||
|
|||
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); |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Started out as an Access problem. Now an Excel problem | Excel Discussion (Misc queries) | |||
problem with a conditional max problem | Excel Discussion (Misc queries) |