Flex Builder 3 beta 3 – install gripe

So, the installation instructions quite clearly warn not to install this version over a previous beta. But then they include instructions how to “When using Flex Builder 3 Beta 3 with a workspace from a previous beta, please clean and reinitialize the workspace.”.

Unfortunately for me this didn’t work. I’d fully uninstalled the previous beta. But when attempting to re-use the existing workspace even with the ‘clean’ steps undertaken, the result was a broken installation of the builder. It couldn’t find any of the SDKs.

Uninstalling, getting rid of the old workspace and reinstalling then worked. Just leaving the job of manually setting up the projects again. This might be due to my configuration – I don’t keep project source files in the workspace – it only contains paths to the respective project folders on my system.

On a more positive note, the whole thing feels a bit more spritely.

Update: Actually, it is less of an issue to import projects than I first thought. In my first attempt I set my project folder and left the Project location at the default. This replicated the project files into the workspace folder. Not what I wanted. The solution, if slightly counter-intuitive, is to set the import from and the project location folder paths to be exactly the same path. This correctly makes Flex aware of the project , while leaving the files where they should be.

Flex project import

After the import – a quick clean then we are off!

Three is the magic number at Adobe

Just as I’m about to head into hibernation for a week or so without computers or any connectivity, Adobe go and release all these goodies. Something to look forward to on my return…

  • AMF3 Specification
  • Blaze DS – Free LGPL Remoting and Messaging for Java (ok not three, but free!)
  • Flex 3 Beta3
  • AIR Beta 3

A good start-point to read more (a brief paragraph on each) is Ted’s OnFlex blog, and of course the Adobe labs site.

Flash player 9 update 3 released

I expect Ted’s “Player 9 installs” counter is going to go nuts.

The final release of Flash  Player 9 update 3 is released (previously code-named MovieStar) enabling H.264 support for Windows, Macintosh and Linux platforms from www.adobe.com/go/getflashplayer.

strange stage-size problem, but only in ie6

I’ve just been working on an small piece of pure ActionScript3. Essentially the migrating from the large horrible Twitter Widget that I had in the right column, to the text-only representation now overlayed on the header image above.

I use SWFObject to embed the SWF in the page. I set the dimensions of the SWF to 780×45. Within the main function of the SWF I prevent the stage from scaling and set it to align top left. I then use the stage.stageWidth and stage.stageHeight properties to draw a semitransparent background within which to position a TextField then trot-off to get the Twitter feed.

All is well on Safari and Firefox. But when I test on Internet Explorer 6, strange things happen. The first time a page loads, it displays ok. But reload the page, or navigate to another within the blog where the SWF is loaded from cache, and the layout is quite messed up. Testing showed that this is because the stage’s stageHeight and stageWidth are returning value 0 in this circumstance. Further testing shows that although the stage’s initial size is 0x0, it does get resized at some point.

The solution I’ve implemented is to listen for and handle resize events. Mildly frustrating as I didn’t plan on dealing with resize. The only reason my application is structured like this is to allow the SWF to adapt to the dimensions set via SWFObject. Not to allow the SWF fluid resizing through it’s life.

Simply moving the positioning code to the resize handler solved the ie6 problem, but for the other browsers that render at the correct size from the off, no resize event fires. So from our main function we have to put a manual call in to the resize handler (with null as the argument), and then only modify positioning if the stage dimensions are something other than 0x0.