Archive for the ‘FlexSDK’ Category

Managing your playerglobals and SDKs

Thursday, March 28th, 2013

If you have multiple versions of the Flex/Air SDK on your computer it can sometimes become a hassle to make sure that every SDK has all the playerglobal.swc files for all the versions that you need to compile for.

What I recommend is creating a /flex directory in your preferred location (mine is on the root of C:) where you have all your SDKs, and put a folder there called /playerglobals where you have all your versions of playerglobal that you will need.
Then delete the FlexSDK_x.x.x/frameworks/libs/player folder from every SDK and replace it with a Directory Junction (hard) link, which you can do with the following command (Windows):

mklink /J C:\flex\FlexSDK_x.x.x\frameworks\libs\player c:\flex\playerglobals

Now you have only one place to worry about your playerglobals.

VerifyError: Error #1024: Stack underflow occurred.

Tuesday, July 31st, 2012

I just completed hunting down a Stack underflow error. It was a little tedious since the error is not thrown when I compiled for debug player, only release.
The source of it? A trace statement in a try block. For some reason the compiler doesn’t like that at all.

The solution seemed to be to remove all traces from try-catch blocks, which worked, but I wasn’t satisfied.

After binary searching trough the svn commits, I found what triggered the above error, an empty for-each loop.
Removing that loop made all traces work again normally inside try-catch blocks, which is what I prefer.

for each (var fruit:String in fruits) {
   // Empty loop, a BIG NO NO!

So to prevent your swf from corrupting, do not have empty for-each loops in your project! Remove them completely or fill them with some code.