易截截图软件、单文件、免安装、纯绿色、仅160KB

Flex通信篇——Flex和外部进行异步通信

ExternalInterface.call的问题
请留意以下情景,要利用外部应用程序弹出文件选择窗体,并返回所选的文件路径。
使用ExternalInterface.call来实现,当用户60秒(Flex已经设置最长的等待时间)内未能够完成文件选择会弹出"1502"的错误,严重影响用户体现。
所以,一些比较耗时的操作(超过60s),或无法确定何时调用完成的方法(如上述),应该使用异步调用的方式,当方法执行完成后进行回调。
<![CDATA[
实现异步调用机制
Flex端
定义一个Dictionary,用来缓存回调的方法
private
var m_AsyncDict:Dictionary;
 定义OpenFileDialogAsync方法,用fscommand来实现,fscommand是单向的调用,不存在60秒超时的问题。
//弹出打开文件窗口,选择单个文件
public
function OpenFileDialogAsync(title:String = "请选择1个文件", initFolder:String = "", filter:String = "", callbackString:Function = null):void
{
    //创建异步ID
    var id:String = mx.utils.UIDUtil.createUID();
    //创建自定义异步请求
    var request:String = "<args>";
    request += "<arg>" + id + "</arg>";
    request += "<arg>" + title + "</arg>";
    request += "<arg>" + initFolder + "</arg>";
    request += "<arg>" + filter + "</arg>";
    request += "</args>";
    //缓存回调方法
    if (callbackString != null)
        m_AsyncDict[id] = callbackString;
    flash.system.fscommand(FLASH_TO_APP_OPEN_FILE_DIALOG_ASYNC, request);
}
定义并注册AsyncCallback和CancelAsyncCall方法,让外部应用程序能够响应异步回调或取消异步回调。
public
function AsyncCallback(id:String, value:Object):void
{
    if (m_AsyncDict[id])
    {
        //执行回调方法
   


相关文档:

常用的Flex代码总结

常用的Flex代码总结
1.刷新浏览器

  navigateToURL(new URLRequest("javascript:location.reload();"),"_self")

  2.关闭浏览器

  navigateToURL(new URLRequest("javascript:window.close()"),"_self");

  3.打开一个新浏览器窗口

  navigateToURL(new URLRequest('ht ......

flex 右键菜单管理工具类

/*============使用==========*/
var contextmenu:ContextMenuManager=new ContextMenuManager();
contextmenu.add("最大化",menuHandle);//menuHandle处理函数
/**==================ContextMenuManager.as==========================*/
package file
{
    import flash.display.Interact ......

flex 实现横向树状图

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="initApp()"
backgroundColor="#FFFFFF">
<mx:Canvas id="paper"
......

去掉Flex蓝色选中状态

 其实一般的情况下是不会用到这种情况的,一般在程序里,比如选中要填写的项目,都喜欢有一个选中的状态,但是现在我们来个反其道而行,如果我不想要这个状态该怎么办呢?
      参考了些资料,其实也简单,有好几种方法,但是发现了一个最有用的方法,首先我们在舞台上随意放几个TEXTINPUT ......

flex 4 中普遍支持中文字体了

flex3 中的中文字体只支持有限的几种,要么嵌入字体,要么就使用这几种:
支持一些默认的英文字体,如Arial、Times New Roman、Courier New、Georgia、Verdana等。
支持的中文字体:宋体、华文楷体、华文细黑、华文仿宋、华文中宋。
Flex3 中即使客户端装了很多字体,能使用的也只能是上面几种字体,除非嵌入字体。
但是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号