最近做的项目需要使用Flex创建一个桌面应用,但是不使用Flex AIR,因为需要安装AIR,这在给用户使用时就不是很方便的。应用中Flex需要访问本地的DLL。
在网上搜索和论坛中所搜的结果有以下几种:
1,Flex与Javascript通信,然后调用本地动态链接库
2,使用第三方软件,但是要收费。
由于项目中打算做的是桌面应用,所以最后选择的方案是用c++/c来创建一个flash容器,将Flex web的生成的.swf文件在这个flash容器中播放。通过flash.external.ExternalInterface类来和C进行通信,C再和本地的DLL动态链接库通信,这样Flex就能访问到本地的DLL文件,并通过注册回调还处理返回的数据。
部分关键代码如下:(下面的代码为ActionScript代码,在这里为了显示选择的java生成器)
注册回调函数
ExternalInterface.addCallback("on_user_login_result", callBackIgrsLogin);
public function callBackIgrsLogin( param:String):void{
....
}
调用C提供的接口
ExternalInterface.call( "flashcall_igrs_user_login", userID, userPass);
至于文件的拖拽也都是Flex调用C提供的接口来进行实现。
分享到:
相关推荐
完美的Flex多语言支持解决方案
使用 ADOBE FLEX 45访问数据 目录 第 1 章: 访问数据服务概述 Flex 与其它数据访问技术的比较 使用 Flash Builder 访问数据服务 数据访问组件 第 2 章: 使用 Flash Builder 构建以数据为中心的应用程序 创建 Flex...
flex 打开本地图片并进行显示 var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onLoadByted); loader.loadBytes(this.fileReference.data);
根据项目中的实际情况,总结的Flex嵌入IFrame解决方案
创 建过Java多语言本地化应用的朋友应该都很熟悉Java的本地化资源访问的功能,现在好了,Flex2诸多激动人心更新中的一个就是本地化特性 (localization feature),这倒是Adobe加强推广Flex2的一个强助力了(这一...
如何在flex中读取shapefile文件
FLEX图表相关解决方案,只要你下载了 必有所获
利用google-iframe在flex中嵌入网页是在swf上覆盖一个div,flex与网页无法融合,这样会出现各种显示,控制问题,如页面自适应,页面显示控制,内容遮盖,网页内容不随flex滚动条滚动等,现在这些问题都解决了
FlexSystem VDI解决方案建议书.docx
构建全栈式Flex、BlazeDS和Spring集成解决方案。 构建全栈式Flex、BlazeDS和Spring集成解决方案
ESRI解决方案 构建基于Flex API和JavaScript API的地图应用
flex 跨域访问问题, flex不在同一个域,解决办法
一个极其完整详细的 Flex 通过 ANE 调用 dll 的实例,包含所有源码,附有详细的说明文档。如果你下载我这份技术文档和源码,还不会,俺就不要银子了!
描述了怎样把Flex组件保存为本地png图片
flex 跨域访问文件,安全沙相问题,很有用的,放在iis里就行了
构建全栈式Flex、BlazeDS和Spring集成解决方案–第一部分 创建Maven Flex模块
仿造qq登陆功能写的 Flash提供的本地共享对象ShareObject是一种跨平台较好的方案,当然在客户端已经安装Flash Player的情况下。 ShareObject默认只能存储100Kb的数据,用户可
构建全栈式Flex、BlazeDS和Spring集成解决方案–第二部分 编写to-do list服务器端.pdf
Flex Tree 刷新数据源后,重新打开指定节点的解决方案,不需要延迟等其他手段