I've been working on an HTML/JS based AIR application for my company, a sort of 
one-way instant messenger. It will allow managers and IT staff to instantly 
push messages to all employees using BlazeDS.

It's been a long road due to the fact that neither HTML based AIR apps, nor 
BlazeDS itself have all that much real-world documentation. I'd finally gotten 
everything working in a test environment when I went to port the working code 
into my already working transparent, custom chrome AIR app. Then it stopped 
working. The same exact code would not work at all.

After manipulating code for the better part of a day, I found the reason, or at 
least part of it. It appears that an AIR app which uses the FDMSBridge.swf 
provided by Adobe WILL NOT work when the app has transparency. I took the 
following steps to test this behavior and it worked (or didn't work) as 
expected in all cases.

In my sample app
-----------------
1) I opened my sample code (without transparency), and compiled it.
2) I pushed a message to the gateway and the message was successfully received 
in the app.
3) I then changed the transparency setting in the App.xml file from false to 
true and recompiled the app.
4) I pushed another message to the gateway and received nothing.

In the final app
---------------------------------------------
1) Transparency was already set to true, so I compiled the app
2) I pushed a message to the gateway, and received nothing.
3) I then changed transparency to false, recompiled the app
4) Pushed a message and successfully received it.

Further, when the app first loads, it correctly displays the alert window when 
transparency is set to false, but not when it's set to true.
------------------------
Here's a small code sample:

FDMSLibrary.load("FDMSBridge.swf", initBlazeDSCode);

function initBlazeDSCode() {
        alert('why me');
        var cs = new ChannelSet();
        cs.addChannel(new 
AMFChannel("cf-polling-amf","http://domainname.com/flex2gateway/cfamfpolling";));
        consumer = new Consumer();
        consumer.setDestination("ColdFusionGateway");
        consumer.addEventListener("message", messageHandler);
        consumer.setChannelSet(cs);
        consumer.subscribe();
}

function messageHandler(e) {
        alert('got a message! I GOT A MESSAGE!');
} 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;192386516;25150098;k

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:302717
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to