Delphi与Flex交互
来源:互联网 发布:淘宝客培训 编辑:程序博客网 时间:2024/04/28 14:15
1、在Delphi中安装Flash控件
运行Delphi,选择菜单中的Component -> Import ActiveX Control,找到Shockwave Flash (Version 1.0)并安装,默认安装到ActiveX面板。
安装完成后,ActiveX面板就会出现TShockwaveFlash控件,这是Delphi对C:/WINDOWS/system32/Macromed/Flash/Flash10i.ocx的封装,现在我们就可以用这个控件来播放Flash了。
2、TShockwaveFlash的重要属性和事件
属性:
Movie: Flash文件的绝对路径,网上说可以为URL。
事件:
OnFlashCall: 在Flex中调用ExternalInterface.call时触发,参数request的格式为
OnFSCommand: 在Flex中调用fscommand时触发,两个参数command和args分别对应Flex调用时的2个参数。
OnReadyStateChange: 当Flash的状态发生改变时触发。网上说有5个状态(0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive和4=Complete),但经试验发现只有Interactive和Complete,且Complete总共触发了2到3次(一般情况下会触发2次,此时Stage已经加载进来,有背景。若为Application或任意添加一个ViewStack并设置backgroundImage,backgroundImage的图片可以不存在,则在Flex的creationComplete时会触发第3次)。若Flash文件不存在(如设置了相对路径),则只会触发一次Interactive。
3、建Flex工程
新建一个Flex Application,取名DelphiFlex。Flex代码如下:
在initialize事件中注册回调函数是因为准备在Delphi的OnReadyStateChange中调用该方法。如果是在creationComplete中注册回调函数,OnReadyStateChange就算newState第3次等于4时调用该方法仍会出错,可能是因为creationComplete未执行或正在执行。
4、建Delphi测试程序
新建一个Delphi工程,拖一个TShockwaveFlash控件过来,再放一个TButton和TEdit控件,TButton的label设为Call Flex。Delphi代码如下:
5.、Delphi若要在Flash加载完设置一些内容,最好是在Flex的creationComplete事件中触发事件,然后Delphi调用Flex的方法。因为OnReadyStateChange并不稳定。
6、Delphi调用Flex时可以有返回值,因为ShockwaveFlash1.CallFunction有返回值。Flex调用Delphi时由于OnFlashCall不能设置返回值,所以Flex取不到返回值。
- Delphi与Flex交互
- Flex与Servlet交互
- Flex与JavaScript交互
- Flex与Ajax交互
- flex与数据库交互
- flex与数据库交互
- flex与php交互
- flex与mysql交互
- flex与数据库交互
- FLEX与javascript交互
- flex与js交互
- Flex与JavaScript交互
- flex与ajax交互
- flex与ajax交互
- Flex与Servlet交互
- flex数据传输与交互
- Flex与服务器交互
- flex与J2EE交互
- string 到 int的转换
- ZigBee协议栈(2)
- servlet之路(大学)---开头篇
- PHP is_callable()与method_exists()区别 【转】
- ZigBee协议栈(3)-- Z-Stack寻址(Addressing in z-stack)
- Delphi与Flex交互
- Linux内核中读写文件数据的方法
- http://hi.baidu.com/boywhp/home
- 常见的Linux内核中内存分配函数
- 皮肤大全
- cin深入解析
- 调整vmware虚拟机硬盘空间的方法 最简单可行
- 获取本地IP地址
- linuxdrivers的博客公告