Re: http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4 and file sizes,
I believe that the size differences are mostly due to Flex 4.0 only having the Flash Player 10.0 runtimes, whereas Flex 4.1 has both the Flash Player 10.0 and 10.1 runtimes (see /runtimes/player/*).
Can you reproduce that in a plain old new HelloWorld type application w/ Flex 4.1? I don't think I've seen that RTE lately, so I'm a bit curious how you're managing to get it.
If you have a simple test case maybe file it at http://bugs.adobe.com/flex/ and somebody can take a look.
Of course I'll try to repro it in a simple app, but you probably understand schedules and the length of the day. Maybe this weekend. The only things I can think of that might be peculiar about my app is I'm using Mate and ILOG swc's. However, I will try to get a case for you. And thanks so much for your blog!!
A few random questions:
a) AIR app or Flex app?
b) If AIR app, which version of AIR are you using? 1.5.x or 2.0?
I'm not sure those are totally random questions ;-)
Turned out to be easier than I thought. Though it doesn't bring Hello World to a halt, you can see the error message flash in the console on startup. Might be me but I think it's a repro.
Whoops. Thought there was a file upload but must be missing it. I'll try to get to the bug db later.
Interesting. I'm able to repro in a simple test case w/ AIR 1.5.3 and Flex 220.127.116.1180 (from the opensource site, not an internal build even):
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <s:layout> <s:VerticalLayout /> </s:layout> <s:TextInput id="ti" text="s:TextInput" /> </s:WindowedApplication>
VerifyError: Error #1014: Class IIMEClient could not be found.
at mx.managers::SystemManager/deferredNextFrame()[E:\dev\4.x\frameworks\projects\framework\s rc\mx\managers\SystemManager.as:267]
at mx.managers::SystemManager/preloader_preloaderDocFrameReadyHandler()[E:\dev\4.x\framework s\projects\framework\src\mx\managers\SystemManager.as:2460]
at mx.preloaders::Preloader/timerHandler()[E:\dev\4.x\frameworks\projects\framework\src\mx\p reloaders\Preloader.as:488]
Seems to be related to the s:TextInput. If I replace that with an mx:TextInput, then the RTE goes away. This is starting to sound familiar, let me check the bug base and see if this is a known issue. I think this is the issue I'm remembering: http://bugs.adobe.com/jira/browse/SDK-24301
But I'm using the Flex 4.1 SDK, AIR 1.5.3 SDK/descriptor and probably AIR 2.0 runtime, which I thought should work...
I'd say file a bug (or tell me to) and we can run it past an engineer or an AIR expert. I'm just guessing here.
Hey, Peter, would you file a bug on my behalf, lol.
I've been schooled and told that this is working as expected. All the information should be in that JIRA bug, http://bugs.adobe.com/jira/browse/SDK-24301:
Thanks for all of the investigating, but after a few sidecar conversations, we've concluded that the workflow initially filed in the bug is an unsupported workflow,
Alex's tests concluded the following:
- FB4 + AIR 1.5 SDK + AIR 1.5 app-descriptor ran on AIR 1.5 runtime: WORKS
- FB4 + AIR 1.5 SDK + AIR 1.5 app-descriptor ran on AIR 2.0 runtime: WORKS
- FB4 + AIR 2.0 SDK + AIR 2.0 app-descriptor ran on AIR 2 runtime: WORKS
- FB4 + AIR 2.0 SDK + AIR 1.5 app-descriptor ran on AIR 2 runtime: BARFS
So, the only case not supported is when a user uses Flash Builder 4, overlays the AIR 2.0 SDK, builds an AIR app where the app-descriptor is set to AIR 1.5 and tries to run it in AIR 2. Matt, myself, Stan and Pete all agree this shouldn't be a valid workflow - if a user wants to maintain a 1.5 app, they need to target the 1.5 SDK and runtime (which they will be able to do in Flash Builder 4 since FB4 will ship supporting AIR 1.5.3).
If a user wants to use Flash Builder 4 and target the AIR 2 SDK/Runtime, they need to update their 1.5 app to change the app-descriptor to reference AIR 2.0.
The problem is that you're presumably trying to use Spark text-based controls with the AIR 2.0 SDK (which should be integrated into the 4.1 builds currently, I think), and targeting the AIR 1.5.3 SDK. If you change the target AIR version to 2.0beta2 in your XML descriptor file it should work (or at least worked for me locally using my fancy HelloWorld app). I was confused since I initially created my application targetting Flex 4.0 which set the app descriptor to 1.5.3, and then I changed my application to use Flex 4.1 which was causing issues. When I created a new AIR app and targeted Flex 4.1 when creating the project the xml descriptor set the AIR version to 2.0beta2 and this compiled correctly.
To my knowledge, I've never installed AIR 2.0 beta, so it's worth a second look. I am running FB2, 4.1sdk and consistently get this. Maybe some unknown link downloaded AIR 2.0 but I cannot find evidence of it on my three computers.
Ah, re-edit. I will try the suggested workaround and see if it solves the problem.
Message was edited by: John Hall
The Flex 4.1 SDK includes Flash Player 10.1 bits and the AIR 2.0 bits, as far as I know.
Worked perfectly with the change to the descriptor file. Thanks.
Thank you both. This kept my remaining hairs from being pulled out this morning.
I get same RTE when I open my swf(which uses spark text controls) in 10.0 (in 10.1 - all works good). Is it mean that I can't use
spark text controls with 10.0 (which is currently on adobe get player page)?
Hm. Strange thing. I can compile my code in new FB 4 - with no RTE in FP10.0,
but when i use FDT (with SDK from new FB 4) - I get this RTE. I cant understand what pappens, it is FDT preferences may be...
I also replace playerglobal.swc to 10.1 playerglobal.swc, but mevermind - IIMEClient in textLayout.swc...