MXML: “true && true” error
Stumbled across this strange error while doing some development. I’ve needed to determine the enable function of a button based on two boolean conditions and as a result created the following bit of code:
<com:Component enabled=”{booleanA && booleanB}”/>
The compiler didn’t like what I’ve put together and threw the following error: The entity name must immediately follow the ‘&’ in the entity reference.
At first I litteraly thought that I’ve forgotten how to code and trivially tried a simple if statement in a <fx:Script> tag – that worked without a problem. I’ve also tried to see if the or ”||” operator worked within the enabled attribute – which it did. My last thought before searching for a solution online was that the latest version of Adobe Flex had a bug in it.
Some of the solution that I’ve discovered are:
- use ;& instead
- use (booleanA) ? (booleanB):false
- use !(!active1 || !active2)
Adobe Flex: smooth out the images – scaleContent
When you’re dealing with a situation that requires the use of the following image settings:
width="100%"
height="100%"
scaleContent="true"
maintainAspectRatio="true"
You can find your self in a situation where the loaded content will result in a pixelated bitmap. Simply add a complete event handler to your image component and update the contents of the event in the following way:
var lv_btmp:Bitmap = ((event.target as Image).content as Bitmap);
if ( lv_btmp != null )
lv_btmp.smoothing = true;
this will smooth out the image that you have loaded.
FLEX: BlackBerry SDK basic compilation error [locale]
When I tried creating a new project with the BlackBerry sdk I ran in to the following error:
Description Resource Path Type LocationUnable to resolve resource bundle "collections" for locale "en_US".Flex Problem Unknown
Although annoying I quickly found a solution:
- Go to the Project Properties
- Navigate to Flex Compiler
- And type in the following line
-library-path+="C:\Program Files\Adobe\Adobe Flash Builder 4\sdks\
blackberry-tablet-sdk-0.9.0\frameworks\locale\en_US"
FLEX: convert HTML format to RichText
If you are working with rich text editors you will run in to a situation where you have to format an HTML string to RichText value.
Following code can accomplish this:
gc_ta_bio.textFlow =
TextConverter.importToFlow( "<h1>Your String</h1>,
TextConverter.TEXT_FIELD_HTML_FORMAT )
Where the MXML control will look something like this:
<s:RichEditableText id="gc_ta_bio" />
Workingn with AMF
I want to set up a more secure process than a current ActionScript POST/GET service querying. To do that I started looking at AMF.
Action Message Format(AMF) is a binary file format representing a serialized ActionScript object. The AMF file type is used throughout the Flash Player for data storage and data exchange. For example in the Flash Player AMF is used in SharedObjects, RemoteObjects, LocalConnection, ByteArray, RTMP, and all RPC operations. Some of the benefits of AMF include:
- File Size – AMF objects are very small and are compressed using zlib.
- Fast Serialization/ Deserialization – AMF is transformed using native C code in the Flash Player making it very fast. The AMF format was designed to serialize and deserialize quickly under low memory and slower CPU conditions making it perfect for the web. AMF data is parsed directly into objects, meaning there is no lag for interpretation or parsing of AMF making the creation of objects complete in a single pass.
- Native Types and Custom classes supported – You can serialize any object in Flash Player with the only exception being a displayObject.you can also map serialized objects back to custom class instanced provided the custom class is in the Flash Player when the AMF object is deserialized.
AMF existed in ActionScript 2 and was just called AMF as of ActionScript 3 the AMF protocol has been updated and is referred to as AMF3. For historical reasons the original AMF format is now referred to as AMF0. One of the main upgrades to AMF3 is that the object is now zlib compressed for faster transfer do to the smaller file size and the additional of data types that were released with ActionScript 3.
The two alternative frameworks that I am looking at are AMFPHP and Zend_AMF.
AMFPHP + Flex 3 = Error [unable to open 'services-config.xml']
While trying to configure the AMFPHP set up with the Flex 3 framework I ran in to a problem while setting up the services-config.xml.
I’ve created the file in the root directory and specified in the Flex Compiler [Additional compiler arguments] the following string -locale en_US -services “services-config.xml”.
As soon as I clicked OK an error popped up with a message unable to open ‘services-config.xml’. After trying varying things I was able to figure out that the problem was with the location of the file. Simply placing the file at the root of the directory wasn’t the right location. I needed to put the file in the same directory as the main MXML executable – after that the program worked as expected.
Gumbo effects comming soon
Gumbo: the next release of Adobe Flex SDK interface will has some interesting and useful features. The idea of developing custom controls [like buttons or menues] which slide in and out based on mouse interaction can be problematic to build. The logic of incomplete slide ins and slide outs along with the gittery screen can cause the application to look unpolished.
All of this is about to change as you can see in this video describing the new sequence functionality that will be available in the next release. Have a look at the more complex sequences.
PS: seems that the new release will be hitting the shelf sometime in the second half of 2009.
Adobe Flex online tutorials
A great collection of tutorials for anyone who is interested in learning how to work with Adobe Flex. The lessons cover everything from the basics of Flex Builder to more complicated topics like building run time shared libraries. Have a look and learn something new.
Adobe Flex Builder 3 short dump [JVM terminated. Exit code=1...]
I’ve tried reinstalling the application and even removed the old versions of JRE references. Nothing helped and just as before I had to rely to googling and looking at configuration files.
The problem lied in the small FlexBuilder.ini file located in the root installation directory. The contents of the file included the following settings:
-vmargs -Xms128m -Xmx512m -XX:MaxPermSize=256m -XX:PermSize=64m -Djava.net.preferIPv4Stack=true
I’ve modified the contents to exclude the last lines and vuala, the application went back to it’s usual state [sure I lost all my projects but its nice to have a working EDI once again].
New project: two-become-one.org
Another client, another design, another adventure.
![]()
www.two-become-one.org: Soon to be fully up and running a new wedding planner website is in the process of being created.