ARCHIVED FORUM -- March 2012 to February 2022READ ONLY FORUM
This is the second Archived Forum which was active between 1st March 2012 and 23rd February 2022
Hi,
seems to be a string to number conversion, the conversion fails because the input is expected as convertable number. So may be leading or trailing spaces or other signs or alphanumeric chars may cause such problem. In many programming languages this is no problem, B&O i think uses microsoft compiler c++ or .net stuff. Converting ' 12A' to int will fail. PHP will convert this to 12 :-) (The debug code lokks like a bit Java)
Since the app will have prechecks the odd number could be inserted programmatically. So you have to determine which changes was made since last working copy. Can you load an old version and reprogram the Beo5 again?
An other hint is to compare the configurations (working and this faulty one) with windiff or winmerge windows software (free). You will see imediately any differencies.
Save the configuration and diff with old working one.
(I have a git on my data folder)
Did you test all tabs (ProductSetup, Connections, Edit, logos and View) ?
May be you changed a product and did not change the accessory setup or you just deleted a page and a button point to it?
Ralf
I wanted to program a Beo 5 with B&O and 3rd party products and the serialization fails every time. How do I find out where to search for (I guess multiple) programming mistakes?Is there some kind of guidance how to examine the file to find mistakes / erros?Currently it feels like I'm 4 years old and somebody told me to repair a Space Shuttle.
That's my error-message:--------------------------------------------------------------------------------------------------------------
Serialization started ...
Parsing beo 4 config ...
Beo 4 configuration parsed. Nr of buttons =476. Time elapsed (ms) =156
Parsing beo 5 config ...
System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Int16.Parse(String s, NumberStyles style, NumberFormatInfo info)
at System.Convert.ToInt16(String value)
at Beo5_Config_Tool.Serializer.BUTTON_T.SetCurrrentPage(String stName, Int16& current_page)
at Beo5_Config_Tool.Serializer.BUTTON_T.ParseButtonRecursively(XmlNode node, Int32 page, Int16 parent_caption_id, Boolean isBeo4Xml, Boolean keepCurrentId, Boolean parseIRs)
at Beo5_Config_Tool.Serializer.BUTTON_T.Beo5_Config_Tool.Serializer.ISerializable.ParseXml(XmlDocument xmlDoc, Beo5Config _beo5Config, Boolean isBeo4Xml)
at Beo5_Config_Tool.Serializer.Beo5Config.Beo5_Config_Tool.Serializer.ISerializable.ParseXml(XmlDocument xml_doc, Beo5Config beo5Config, Boolean isBeo4Xml)
at Beo5_Config_Tool.Serializer.ConfigSerializer.SerializeXML(XmlDocument _xmlBeo4, XmlDocument _xmlBeo5, String _outFilename)
at Beo5_Config_Tool.Serializer.ConfigSerializer.StartSerialization()
----------------------------------------------------------------------------------------------------------------------------------
Hi Ralf,
thank you for your help! I renamed quite a few commands... enough to NOT remember when it worked last time. I have commands renamed like "On / Off" or "DVD / Blu-ray". Is this something the Configuration Tool will struggle with?I started all over and will now test the serialization and live usage before changing / adding things as I don't know how I caused the serialization to fail.
Hope you found the problem now:-)
Renaming even with german umlauts should not confuse the serialization. I did this very often until it fits my needs.
But I always went through all the tabs in the tool, may be the tools needs an update before finally uploading.
However i always save my configurationat the end after uploading.
B&O turned off their configaration server, so you can only save the data to your PC. You can find the backups using the windows explorer.
They are human redable as well.
The configuration counter on the main screen should be increased by one.
Happy programming.