September 24th, 2008 by Kyle
Tags: , ,
Posted in: Flex Builder

I while back, I produced an Adobe Captivate screen-cast for one of my customers showing some tricks and tips (say that 3 times fast) on using the Flex Builder 3 profiler. I kept meaning to post it to my blog and finally after getting a kick in the pants from Alex Harui and Jun Heider posting good blog entries on the same topic, here is my post.

Here is Alex’s blog post:
http://blogs.adobe.com/aharui/2008/09/using_the_flex_builder_3x_prof.html

Here is Jun’s presentation:
http://www.onflex.org/ted/2008/09/360flex-sj-2008-using-flex-builder-3.php

I think my content actually sits comfortably in between these two and as a trio they cover a lot of useful ground in making users more proficient with the Flex Builder profiler.

Read the rest of this post»



1 Comment »

July 8th, 2008 by Kyle
Tags: , , ,
Posted in: Flex, Flex Builder

A useful compiler switch to help with this is the -dump-config switch.

If you add -dump-config=c:\mycfg.xml to the compiler, it will generate a config file that represents all the compiler (either for mxmlc or compc) settings used for compilation in a Flex Builder compile and then you can use that config file in a commandline compile to do an equivalent compile.

A few notes on the generated configfile.

1. The file is not perfect. I found that the tag that was generated only had a relative path generated. It is much better if that were absolute, so before I used the config file, I changed the value for that tag to something like:

<manifest>C:\FlexBuilder2.0.1\Flex SDK 2\frameworks\mxml-manifest.xml</manifest>
 

2. For some reason the generated file has a token ${flexlib} which didn’t get resolved and filled in. I found that I could just comment out the 2 properties in the config file as they aren’t relevant to most compilations.

3. I found the easiest way to use mxmlc/compc was to copy the generated config file to the bin dir of the SDK under Flex Builder install. Then I could invoke mxmlc against the app like so:

./mxmlc -load-config+=mycfg.xml C:/myapp/src/app.mxml -output myswf.swf

4. For compc, the classes to actually compile to include in the generated swc aren’t actually output to the generated config file, so you have to add them manually (or on the commandline). I found the easiest way to do this was to add tags like below in the generated configfile

   <include-classes>
    <class>fooClass</class>
    <class>barClass</class>
  </include-classes>
 

The content for those tags comes from the project file - .flexLibProperties which looks something like this:

<?xml version="1.0" encoding="UTF-8"?>
<flexLibProperties version="1">
  <includeClasses>
    <classEntry path="fooClass"/>
    <classEntry path="barClass"/>
  </includeClasses>
  <includeResources/>
  <namespaceManifests/>
</flexLibProperties>
 

The classEntry paths translate into the class tag values.
After doing this you can run compc like this:

./compc -load-config+=mycfg.xml -output myswc.swc

HTH

-Kyle



No Comments »

So it is almost February already! Where did January go? I’ve been a bit slow out of the gate this year as far as keeping up a decent pace in posting helpful samples to my blog. Actually, I have been working on things behind the scenes, a few details of which I will reveal now. I have launched a new blog on a new domain. The content is to be all “work” related, so it will be about Flex/Flash Player/Adobe AIR, LiveCycle Data Services/Blaze DS/ColdFusion and other fun technologies. I’ve also been working on an AIR app which I hope to get out at least in a fairly stable beta form around the same time that Flex3/AIR releases. It will most likely be open source and hosted on Google Code. I will also be compiling a library of useful components, extensions to components and monkey patches to the Flex framework. This new blog and content will all be available on:

http://flexmonkeypatches.com

All old posts on http:blog.739SaintLouis.com should link to or redirect to the same content on my new site. I will leave my old site up for an undetermined length of time with the intent of transforming it content-wise into a more personal blog (time permitting.)

Regards,

-Kyle



No Comments »

April 3rd, 2007 by Kyle
Tags: , , , , , , ,
Posted in: Flex Builder

Here is an example demonstrating how to use project references to refer to source files in other projects as well as swcs in other projects.

If you take a look at this zip file, you will find that it contains 3 projects.

The first project is a normal Flex project called globalIncludes which contains an actionscript file, vars.as.
A second project, Expando, is a library project, which contains an mxml component.

  • In the properties/Project References dialogue for this project there is a checked refererence to the globalIncludes project.
  • In the properties/sourcepath for this project, I have added the root folder from the globalIncludes project. (Just click the add Folder… button and navigate to the folder.) This folder is added as ${DOCUMENTS}\globalIncludes.

Now in your Expando project you can see a “virtual directory” from the globalIncludes project labeled - [source path] globalIncludes.

In my mxml component in the Expando project, I refer to the actionscript file from the globalIncludes project by doing an include:

    include "../globalincludes/vars.as";
 

Then in my component I use a variable defined in that vars,as actionscript file to expose a version number tooltip in my component.

Note:

In the Expando project, I have right clicked on the ExpandoComboBox.mxml and selected – “Include class in library”. That way, whenever I make changes to this component, the swc will be recompiled.

My third project, Sample, is a normal project that just has an application in it.

  • In the properties/Project References dialogue for this project there is a checked refererence to the Expando project.
  • In the properties/Flex Build Path/Library Path dialogue for this project, I have added the Expando Project (click Add Project… and you will be able to select the Expando project since it is in the list of Project references.)

Now you can launch the Sample.mxml application and see that the tooltip for the ExpandoComboBox is 1.0 which has come from the vars.as actionscript file in the globalIncludes project.



No Comments »