After 11.3 release we started getting complains of our customers that our Flex online application stopped working. After investigation we found out the reason is that any Flex "Dictionary" object kept in shared object (local storage) is read as generic "Object" aftewards without no ability to cast to Dictionary. It wasn't so with previous Flash Players.
The code we have is based entirely on the fact the if "Dictionary" is placed into the local storage, it is read as "Dictionary" after that. Now we are searching works around it.
The question is: was it done intentionally so no ability to store "Dictionary" in local storage anymore or was it a bug in Flash Player and it will be fixed?
bug is closed by Adobe as "NotABug".
Flash Players before 11.3.300.257 had different behavior that was more reliable: placing "Dictionary" object to the local storage allowed reading it as "Dictionary". Like placing "Array" resulted to reading "Array" from shared object.
With Player 11.3 it doesn't work anymore. Reading a property that was placed as "Dictionary" results to plain "Object" read. Any code like "var a:Dictionary = sharedObj.myDictionary as Dictionary;" returns "null". This is very annoying bug that resulted to our application not working for 2 days until we found the reason. I regret Adobe doesn't admit this a bug.
Writing this in order if someone of developers face with the same issue.
Jeromie, thank you for doing that. Please keep us posted.
It was found yesterday that similar problem is with flash.geom.Point class: if it serialized with "writeObject" then "readObject" doesn't restore "flash.geom.Point" anymore. This seems quite strange especially that, for instance, "Array" or "ArrayList" are serialized/deserialized like a charm. Very confusing.
I added that to the bug notes, thanks. If you attach a couple simple examples to the bug, that will get the bug assigned to an engineer much faster. Otherwise, we have to wait for a QA engineer to write tests and verify the issue.
Europe, Middle East and Africa