cancel
Showing results for 
Search instead for 
Did you mean: 

Error #2067: The ExternalInterface is not available in this container

Former Member
0 Kudos

Hi All,

I created a propertysheet for GMap component to add in Xcelsius 2008. When I run propertysheet file in flex builder 3.0 it works fine. But when I copy the swf file of propertysheet to other location like desktop, it throws error like :-

"Error: Error #2067: The ExternalInterface is not available in this container. ExternalInterface requires Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 and greater, or other browsers that support NPRuntime. "

I would appreciate if anyone could help me out.

Thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

External Interface is available when the SWF is run in something that supports External Interface. For example if the SWF is embedded into a HTML web page with the OBJECT or EMBED tags and you run the HTML page. Xcelsius 2008 uses the External Interface to communicate with the property sheet.

By default Adobe Flex creates a HTML page for you and runs that when you create a new Flex project which is why it works in Adobe Flex Builder.

If you run the SWF itself (in a browser) or in the Flash Player then External Interface is not available.

You can use

ExternalInterface.available

to see whether the thing that is running the SWF supports the External Interface or not.

To be doubly safe I would add try catch blocks around those External Interface call areas as they can fail if the Flash Player Security does not give the SWF the ability to call out.

Regards,

Matt

Former Member
0 Kudos

Hi,

I tried your suggested as below:

protected function init():void

{

if(ExternalInterface.available)

{

// Sets the callback to the "continueBind" method when the user is picking a cell to bind to.

proxy.addCallback(PropertySheetFunctionNamesSDK.RESPONSE_BINDING_ID, this.continueBind);

}

// Notify Xcelsius that we have finished loading this Property Sheet.

proxy.callContainer(PropertySheetFunctionNamesSDK.INIT_COMPLETE_FUNCTION);

// Fill the controls with the current values of the component.

initValues();

}

I am not able to get away the error of External Interface. And if with this error I embed this property sheet with Xcelsius, it disables all other things in Xcelsius.

Earlier I was busy in other project, so could not try it.

Can you please have a look at it?

I will appreciate your help.

Thanks in advance.

Former Member
0 Kudos

The proxy calls (internally use External Interface to communicate with Xcelsius) so I would expect errors outside of Xcelsius because the proxy expects to be running inside Xcelsius. Inside Xcelsius you should not get External Interface exceptions.

Did you use the Packager to create an add-on (XLX) for your component and your custom property sheet?

If so did you then use the Add-On Manager (build into Xcelsius 2008 from SP1) to install your add-on?

Maybe try having a look at the sample CustomPropSheetHorizontalSlider which has a custom property sheet, you might want to use that as your starting point.

Regards,

Matt

Former Member
0 Kudos

Hi Matt,

Thanks for your quick reply.

As per your suggestions, I had already used that.

I have SP1 and use Add-On Manager and Packager to create Add-Ons in Xcelsius.

I have used sample applications like custompropsheethorizontalslider, it also has the same problem of external interface. And on using it with Xcelsius, this Xcelsius works properly but propertysheet does not bind with component and on clicking previous, process just hangs and does not show any output.

In short, every component's propertysheet not working properly and result is same.

I think there must be some special coding or setting for propertysheet to work.

I will be grateful to you for your help.

Thanks!

Former Member
0 Kudos

It might be something to do with your setup...

Are you using Flash Player 10? I am using Flash Player 9,0,151,0 (as version 10 is not supported as yet for Xcelsius).

I just tried the CustomPropSheetHorizontalSlider on my Xcelsius 2008 SP1 FP2 and I can bind the value just fine.

There is one bug that has been logged which affects certain custom components when using Flash Player 10 depending on how they were written. The workaround is to make sure that you have a getter and setter for every property you want to make bindable in Xcelsius.

If you are using Flash Player 10 try uninstalling it and going back to Flash Player 9 to see if that helps.

On this site look for "older versions of Adobe Flash Player" link: http://www.adobe.com/support/flashplayer/downloads.html

Regards,

Matt

Former Member
0 Kudos

Hi Matt,

Thanks a ton for your quick reply.

Problem is solved, now I can embed propertsheet in xcelsius.

Once again many thanks.

Regards

Former Member
0 Kudos

I'm glad you are up and running now!

What fixed the issue in the end? Was it rolling back to Flash Player 9?

Just want to make sure we capture the answer on this thread too for others to see...

Regards,

Matt

Answers (0)