Great to hear that Andrew! :)

although, maybe others will have some more clues about how to get release
mode work too. I think is amazing to see a royale app working in release
mode since is blazing fast, and customers use to be impressed by the
amazing performance ;)


El lun., 22 jul. 2019 a las 17:04, Piotr Zarzycki (<
piotrzarzyck...@gmail.com>) escribió:

> Hi Andrew,
>
> Congrats! Customer's happiness is all about what we wanted for this project
> :)
>
> Thanks,
> Piotr
>
> pon., 22 lip 2019 o 17:01 Frost, Andrew <andrew.fr...@harman.com>
> napisał(a):
>
> > Perfect, thanks! With a bit of a mixture of typing and then of using that
> > format with the accessing, it worked.. I didn't want to have to create
> > class definitions for all of these various options but just using the
> > ["RESULT_CODE"] notification in ActionScript means that the generated
> (and
> > minified) JavaScript creates it as .RESULT_CODE and this then works with
> > the dynamically recreated data.
> >
> > Thanks for the support, one step closer as now our release builds are
> > picking up the database connection (makes our customer happier as they
> > don't like the slow loading time for all the .js files in a debug
> build...)
> >
> > cheers
> >
> >
> >
> > -----Original Message-----
> > From: Carlos Rovira <carlosrov...@apache.org>
> > Sent: 22 July 2019 14:52
> > To: dev@royale.apache.org
> > Subject: [EXTERNAL] Re: AMF and class aliases
> >
> > Hi Andrew,
> >
> > first of all if you are using ArrayCollection and not ArrayList you must
> > configure that. In my code I'm using this to configure ArrayList as the
> > type royale must use when send and receive java ArrayCollection:
> >
> > registerClassAlias("flex.messaging.io.ArrayCollection", ArrayList);
> >
> > (don't remember if Greg made it default to ArrayCollection)
> >
> > about serialization/deserialization issues, maybe other could give you
> > better clues than me, since all our objects are strongly typed so objects
> > in collections are classes and if that classes has collections then the
> sub
> > objects will be typed as well.
> >
> > I found that when I have problems when something runs in debug mode but
> > not in release mode for deserialization issues the object bracket access
> > use to work always, so I think is what you need to do, so for example in
> > you case I think this should work:
> >
> > results[I]["outputArray"]["source"][0][RESULT_CODE]
> >
> > HTH
> >
> > Carlos
> >
> > El lun., 22 jul. 2019 a las 11:17, Frost, Andrew (<
> andrew.fr...@harman.com
> > >)
> > escribió:
> >
> > > Hi again
> > >
> > > One extra question here: we have the AMF connection working fine now
> > > in Debug mode, but in Release mode the minifier is changing the
> > > property names of our JavaScript (compiled from ActionScript), but
> > > these are not being reflected in the objects that are deserialised.
> > >
> > > So for example, we are receiving an ArrayCollection, and accessing one
> > > element's property directly e.g.:
> > > var results : ArrayCollection = resultEvt.result as ArrayCollection;
> > > for (var i : uint = 0; i < results.length; i++) {
> > >   var resultCode : String =
> > > results[i].outputArray.source[0].RESULT_CODE;
> > > ...
> > >
> > > There are a couple of things going on:
> > > (a) each element in the main ArrayCollection has an "outputArray"
> > > property which is itself an ArrayCollection. We could cast it into an
> > > ArrayCollection variable I guess, but instead have just added "source"
> > > so that the JavaScript doesn't try adding the [] operator to the
> > > ArrayCollection object directly...
> > > (b) the contents of this ArrayCollection, in this particular case, is
> > > a simple object {RESULT_CODE: "OK"} - which I can see in the console
> > > when we add some trace. The js-debug file has the same structure as
> > > the ActionScript; but the js-release file has a mapping at the start
> > > "nc='RESULT_CODE'" and then accesses the data with "
> > > a.L(c).outputData.source[0].tP" (and that's even weirder as why is it
> > 'tP'
> > > rather than 'nc'?!)
> > >
> > >
> > > I guess the questions I have are:
> > >
> > > 1) Is there a way to prevent the Google closure compiler from
> > > minifying a particular property name/string?
> > > or
> > > 2) Are we going to have to just declare classes for all of these and
> > > do a typecast e.g. along the lines of:
> > > class ResultCode { [Bindable]public var RESULT_CODE; } and then var
> > > resultCodeObj : ResultCode = results[i].outputArray.source[0]; var
> > > resultCode : String = resultCodeObj.RESULT_CODE;
> > >
> > >
> > > thanks
> > >
> > >    Andrew
> > >
> > >
> > > --
> > > Carlos Rovira
> > > https://clicktime.symantec.com/3R6MVFpF7GfH9MBneA8xfU97Vc?u=http%3A%2F
> > > %2Fabout.me%2Fcarlosrovira
> > >
> > >
> > >
> > >
> >
>
>
> --
>
> Piotr Zarzycki
>
> Patreon: *https://www.patreon.com/piotrzarzycki
> <https://www.patreon.com/piotrzarzycki>*
>


-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to