1
votes

My application is set up to use the flex framework_3.3.0.4852.swf as an rsl, which works fine reporting no errors. However, now some of the charts have lost there legend text for both vertical and horizontal axis.

When analysing the styles/properties, the UITextField used for axis text has a text width of zero! The data is set correctly, and all parent components are set to a size that shouldn't influence the text width.

Initially I thought I had a style bleed problem, but then I discovered that if I built the application with all libraries (including the framework) merged in, the problem goes away.

I have also done some tests using inline styles to override any style bleeds that might have been coming through, this had no effect.

Has anyone seen this type of thing before relating to using rsl's?

UPDATE:

I have since found some known bugs in the adobe support knowledge base https://bugs.adobe.com/jira/secure/IssueNavigator.jspa?

Here are the 2 bugs that relate to my question:

1) https://bugs.adobe.com/jira/browse/FLEXDMV-1883

This is reported as fixed, however the next bug seems to disagree, I'm going to investigate further into this and update this question again.

2) https://bugs.adobe.com/jira/browse/FLEXDMV-2065

UPDATE:

Ok I removed the embedded font being used for charts from my stylesheets, from both module and application. The UITextField text has now appeared again. So clearly an embedded font issue.

So in summary, if you have a modular application, you need to embed fonts in both module and application for them to be picked up correctly. But if you use the framework swf as an rsl, you cant use an embedded font with chart axis text.

UPDATE:

Now I have a real problem, 2 of my charts use a rotation effect. When the effect plays and finishes, the axis text disappears because I need to use an embedded font when applying effects to text in this way. But of course I cant use an embedded font for chart styles when I have the framework swf as an rsl!! Not sure how to get around this one?

1
If you think you answered your own question, post a proper answer and accept it. Also, if you have another problem please open a new question for it.Exort
I haven't answered my own question yet, I'm still investigating into a way to work around this issue of the UITextField not displaying its text correctly for a chart when using rsl's and embedded font. When I have an answer I'm satisfied with I will post/accept it.Jeremy
@Jez are you depending on any third party libraries, if so you can open the swc for each (with a compression utility) and open the catalog.xml to see what version of Flex the dependency was compiled with (particularly if you've updated any of those recently) you may be getting a mixture of classes from different SDKs that's causing this behavior, if you can get the source for your dependencies and compile them against the same SDK you're using it would resolve that potential issue (just a suggestion no guarantees).shaunhusain
@shaunhusain I do have several in house libraries that in theory should have been developed and compiled against the same version of the SDK. Having said that, perhaps a rogue build got in there, I'll double check them all to be sure.Jeremy

1 Answers

0
votes

After some attempts to override the way Axis labels are rendered for chart components when using SDK 3.x, and not getting very far. I have decided that the short term resolution is unfortunately to roll back our builds, not using the framework swf as an RSL until we can upgrade to version 4.x of the SDK.

The main reasons for this are:

1) If the framework swf is an RSL in your project, you cant use an embedded font for chart axis labels, as they don't show up. If you analyse their properties, you'll find all data is correct except text width will be set to zero.

https://bugs.adobe.com/jira/browse/FLEXDMV-1883 - modular app related similar bug

https://bugs.adobe.com/jira/browse/FLEXDMV-2015 - RSL related

https://bugs.adobe.com/jira/browse/FLEXDMV-2065 - RSL related

2) If embedded fonts are removed from charting component Axis styles to fix the above issue, you then cant apply effects to the same components. This is because you need to use an embedded font to apply effects correctly to the Axis labels.

The only way to fix this issue is to upgrade SDK to 4.x as the chart Axis uses Label instead of UITextField.