从swf里面对外面调用使用ExternalInterface.call(function:string,param:Object)
看代码:
<?xml version="1.0"?>
<!-- wrapper/ComplexDataTypeSender.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
import flash.external.*;
public function callWrapper():void {
var s:String;
if (ExternalInterface.available) {
var o:Object = new Object();
o.fname = "Nick";
o.lname = "Danger";
o.b = new Array("DdW","E&T","LotR:TS");
var wrapperFunction:String = "receiveComplexDataTypes";
s = ExternalInterface.call(wrapperFunction, o);
} else {
s = "Wrapper not available";
}
trace(s);
}
]]></mx:Script>
<mx:Button label="Send" click="callWrapper()"/>
</mx:Application>
-------------
<title>wrapper/ComplexDataTypeWrapper.html</title>
</head>
<body scroll='no'>
<SCRIPT LANGUAGE="JavaScript">
function receiveComplexDataTypes(o) {
// Get value of fname and lname properties.
var s = ("Welcome " + o.fname + " " + o.lname + "!\n");
// Iterate over embedded object's properties.
for (i=0; i<o.b.length; i++) {
s += o.b[i] + "\n";
}
alert(s);
}
</SCRIPT>
<h1>Complex Data Type Wrapper</h1>
<table width='100%' height='100%' cellspacing='0' cellpadding='0'>
<tr>
<td valign='top'>
<object id='mySwf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab' height='200' width='400'>
<param name='src' value='ComplexDataTypeSender.swf'/>
<param name='flashVars' value=''/>
<embed name='mySwf' src='ComplexDataTypeSender.swf' pluginspage='http://www.adobe.com/go/getflashplayer' height='100%' width='100%' flashVars=''/>
</object>
</td>
</tr>
</table>
</body></html>
----------------------
从外面往里调的话,要现在swf里面注册这个方法;ExternalInterface.addCallback(function:String,myfunction:String)
<!-- wrapper/AddCallbackExample.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()">
<mx:Script>
import flash.external.*;
public function initApp():void {
ExternalInterface.addCallback("myFlexFunction",myFunc);
}
public function myFunc(s:String):void {
l1.text = s;
}
</mx:Script>
<mx:Label id="l1"/>
</mx:Application>
在html中的调用:
<html><head>
<title>wrapper/AddCallbackWrapper.html</title>
</head>
<body scroll='no'>
<SCRIPT LANGUAGE="JavaScript">
function callApp() {
window.document.title = document.getElementById("newTitle").value;
mySwf.myFlexFunction(window.document.title);
}
</SCRIPT>
<h1>AddCallback Wrapper</h1>
<form id="f1">
Enter a new title: <input type="text" size="30" id="newTitle" onchange="callApp()">
</form>
<table width='100%' height='100%' cellspacing='0' cellpadding='0'>
<tr>
<td valign='top'>
<object id='mySwf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab' height='200' width='400'>
<param name='src' value='AddCallbackExample.swf'/>
<param name='flashVars' value=''/>
<embed name='mySwf' src='AddCallbackExample.swf' pluginspage='http://www.adobe.com/go/getflashplayer' height='100%' width='100%' flashVars=''/>
</object>
</td>
</tr>
</table>
</body></html>
分享到:
相关推荐
在本例程中,我们将探讨如何利用STM32F103的SPI接口与外部Flash进行通信,实现读写操作。 首先,理解SPI通信的基本原理至关重要。SPI通信由主设备(Master)发起,通过四根信号线:SCK(时钟)、MISO(主输入/从...
"FLASH与VB通信"这一主题涉及到Adobe Flash(现在称为Adobe Animate)与Visual Basic(VB)的整合,允许两个平台之间交换数据和控制行为。这篇详述将深入探讨这个主题,包括基本概念、实现方法以及实际应用。 首先...
本话题将深入探讨“Flash与C#通信”的技术细节。Flash,作为一种曾经广泛应用于网页动画和交互设计的平台,常常需要与后端或宿主环境进行数据交换。C#,作为.NET框架的一部分,提供强大的开发能力,特别是在Windows...
这个实验旨在理解和实现利用TMS320F28335 DSP(数字信号处理器)与外部Flash存储器之间的通信,从而进行数据的读取和写入操作。 首先,了解DSP 28335是非常重要的。TMS320F28335是德州仪器(TI)生产的一款高性能...
2. **ActionScript与VB通信接口**:Flash的ActionScript代码可以通过定义外部接口(External Interface)暴露给VB,使得VB可以通过JavaScript-like语法调用Flash的函数。 3. **VB代码示例**:在VB中,你可以使用如`...
2. **Flash ActionScript**:ActionScript是Flash中使用的脚本语言,可以编写与外部环境交互的代码。例如,ActionScript可以监听按钮点击事件,然后调用一个预定义的函数,该函数会通知VC程序执行特定的操作。 3. *...
1. **外部接口(External Interface)**:这是Flash与C#进行通信的首选方法。在Flash ActionScript中,你可以定义一个或多个函数,通过`ExternalInterface.addCallback()`方法暴露给JavaScript,然后JavaScript可以...
1. **Flash External Interface (外部接口)**:这是Flash与JavaScript交互的主要方式,允许Flash对象调用JavaScript函数,反之亦然。通过这个接口,Flash内容可以与Java通过JavaScript进行间接通信。 2. **...
与内部Flash相比,外部Flash提供了更大的存储空间,适用于需要扩展存储的应用。 1. **STM32CubeMX配置** 使用STM32CubeMX,你需要选择合适的STM32微控制器系列,并在配置界面中添加外部Flash所需的外设。常见的...
VB6.0与Flash CS3的交互主要依赖于ActionScript,这是Flash中的编程语言,可以实现与外部应用程序的通信。在Flash中,我们可以编写ActionScript代码来与VB6.0进行数据交换。这通常涉及到以下步骤: 1. **在Flash中...
3. **连接外部Flash/SD卡**:根据所选的存储类型,可能需要使用SPI、I2C或GPIO接口来与外部Flash或SD卡控制器通信。需要编写相应的驱动程序,以读取和写入数据到存储介质。 4. **文件系统**:虽然USB MSC规范不需要...
Flash Air中的串口通信ANE,是一个外部接口,它允许AS3代码调用操作系统级别的API,从而实现与串口设备的连接。ANE全称为Adobe Native Extensions,是Flash Player和Flash Air的一个重要特性,它使得开发者能够利用...
在开发过程中,我们有时需要将程序存储在外部NOR FLASH中,以便于程序的更新和扩展存储空间。JLink是SEGGER公司提供的一种通用的调试器/编程器,它支持多种微处理器,并且可以方便地通过USB接口与PC进行通信。本文将...
在本案例中,STM32F103C8通过SPI接口与外部Flash通信,读写图片数据。SPI协议通常包括MOSI(主出从入)、MISO(主入从出)、SCK(时钟)和SS(片选)四条信号线,通过这些线实现微控制器与SPI Flash的数据交换。 接...
1. **初始化Flash**:在写入前,单片机需要初始化Flash控制器,设置地址总线、数据总线、控制信号等,确保与外部Flash的通信正确。这通常通过配置相应的寄存器完成。 2. **选择合适的协议**:不同的Flash芯片可能...
这个桥梁通常由Flash的外部接口(External Interface)提供,它允许Flash与宿主环境(在这种情况下是C#应用程序)进行通信。在Flash中,你需要启用并定义这些外部接口调用,而在C#端,你需要使用.NET Framework提供...
常见的外部FLASH芯片有SPI接口的型号,如W25Q系列,它们可以通过SPI总线与STM32进行通信。 实现这个功能需要以下步骤: 1. **配置硬件接口**:首先,需要在STM32的硬件层面上配置SPI接口,连接到外部FLASH芯片。这...
2. **编程逻辑**:接下来,你需要编写控制USB通信和FLASH存储操作的代码。这通常涉及到C语言或汇编语言,针对特定的微控制器(如Arduino、AVR或PIC)进行编程。代码应该包含USB协议的处理,如枚举、数据传输和设备...
这个实验是理解嵌入式系统中微处理器与外部存储器交互的一个基础练习,通过实践可以深入理解DSP2812的SPI通信以及Flash存储器的工作原理。完成这个实验后,开发者可以进一步扩展到其他类型的存储器或接口协议,提升...