- 浏览: 500003 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
michao:
大哥,还有aperture.exe吗? 发我一份,找不到呀,m ...
使用aperture框架让AS3与C++通信,执行本地代码 -
Aaron-Joe-William:
文件被删除了。下不了。
SQLite 数据库加密的一种解决方案 -
hanmiao:
樓主的文章不就是來自IBM Developers里的http: ...
mina 入门 -
howesen:
断包与粘包问题,需要处理下就好了
mina接收数据不全(2) -
sniciq:
git clone --recursive git://git ...
ESB学习笔记(Spring Integration实战)
我们都知道,AIR的效果是非常出色的,这也是大家喜欢她的原因,可是她的本地代码控制能力却是非常的弱,我们所做的好多试图将AIR本地化的努力最终不得不以失败而告终,其惨痛无以言表。
现在,aperture框架来了,我们不再痛苦了,我们用AS3与 C++完美结合,做出功能与效果兼具的软件成为可能。
本篇文章利用aperture框架让AS3使用windows的动态链接库(dll)文件。
aperture框架下载地址:http://aperture.fluorinefx.com/
好了,让我们开始吧。
1.安装aperture框架(我的是安装在D:\Program Files\FluorineFx Aperture)。
2.创建dll文件。
A)打开vs2008,创建一个ATL项目,如下图所示:
项目名称为:Test,单击“确定”创建项目。
B)在应用程序设置 面板中选择“动态链接库”和“允许合并代理/存根(stub)代码”,如下图所示:
单击 完成 创建此项目。
C)在“解决方案资源管理器”中右击“Test”选择菜单如:“添加”->“类”,打开添加类面板,选择“ATL简单对象”,如下图所示:
D)单击“添加”按钮打开向导面板,输入类名称为“MyTest”,如下图所示:
单击“完成”就创建了一个类。
E)在类视图中右击“IMyTest”接口,选择“添加”->“添加方法”,打开添加方法面板,方法名为Runcmd,分别添加传入传出参数如下图所示:
单击“完成”添加一个方法。
F)打开“MyTest.cpp”,在相应的方法中添加实现代码,如下:
// MyTest.cpp : CMyTest 的实现
#include "stdafx.h"
#include "MyTest.h"
#include <comdef.h>
// CMyTest
STDMETHODIMP CMyTest::Runcmd(BSTR cmd, BSTR* result)
{
_bstr_t bs=cmd;
char* ch=bs;
system(ch);
*result=_bstr_t("已经成功执行了cmd");
return S_OK;
}
G)右击“MyTest”工程,选择生成,则会生成一个Test.dll文件,打开MyTest.rgs文件,如下所示:
HKCR
{
Test.MyTest.1 = s 'MyTest Class'
{
CLSID = s '{1980D42B-26C0-48C0-9DCB-76EA41DBFF5A}'
}
Test.MyTest = s 'MyTest Class'
{
CLSID = s '{1980D42B-26C0-48C0-9DCB-76EA41DBFF5A}'
CurVer = s 'Test.MyTest.1'
}
NoRemove CLSID
{
ForceRemove {1980D42B-26C0-48C0-9DCB-76EA41DBFF5A} = s 'MyTest Class'
{
ProgID = s 'Test.MyTest.1'
VersionIndependentProgID = s 'Test.MyTest'
ForceRemove 'Programmable'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
'TypeLib' = s '{2E593994-C270-4D5D-9023-7943B0C37F99}'
}
}
}
记录下MyTest的Class id 1980D42B-26C0-48C0-9DCB-76EA41DBFF5A
3.打开FlashCS4,创建一个AIR工程,为此工程创建文档类Main.as,在此类中输入以下代码:
package
{
import cn.asmax.aperture.LocalObject;
import cn.asmax.aperture.LocalObjectEvent;
import flash.display.Sprite;
/**
* ...
* @author Jaja as-max.cn
*/
public class Main extends Sprite
{
private var lc:LocalObject = LocalObject.localObject;
public function Main():void
{
lc.source = "Test:1980D42B-26C0-48C0-9DCB-76EA41DBFF5A";
lc.addEventListener(LocalObjectEvent.RESULT, onResult);
lc.Runcmd("notepad");
}
private function onResult(event:LocalObjectEvent):void {
switch(event.methodName) {
case "Runcmd":
trace(event.result);
break;
}
}
}
}
说明:类中所使用的LocalObject类和相应的事件类是本人根据aperture框架封装的纯AS3类,此类可以在flash、flex和纯as3工程中使用,比aperture自带的类使用更方便。这两个类可在示例代码中找到。
编译AIR程序。
4.将aperture安装目录中Debug目录下的msi.dll、fluorinepp.dll、Console.exe复制到AIR工程 目录中,再将我们的Test.dll也复制到此目录中,双击Console.exe运行调试程序,再执行我们的AIR程序,就可以看到效果了。
5.然后在打包程序时将msi.dll、fluorinepp.dll、Test.dll一起打包进去。
评论
发表评论
-
十个Flex/Air疑难杂症及解决方案简略
2010-05-31 17:17 3294最近去一家台企面 ... -
Windows环境下配置+运行red5源码+AS3连接red5简单示例
2010-04-19 13:39 5145Windows环境下配置+运行red5源码+AS3连接red5 ... -
SQLITE入门至精通
2010-04-07 11:13 2960关键 ... -
教你解析FLEX JSON中的一个问题 关于键值 和键
2010-04-01 15:25 2264字符串:message = ' "param&quo ... -
air写文件保存在安装目录
2010-03-31 15:46 3173AIR中..保存文件我们般会像下面这样操作 var f ... -
弱弱的一个小问题,bitmapdata pngencoder base64 bytearray
2010-03-31 14:16 1114好久没写东东了,呵呵。随便写点点。关于bitmapdata如何 ... -
FLASH教程:SWF间的双向通信
2010-03-02 18:23 1314假设有一个主 SWf 名为 m ... -
如何把as文件生成swf格式文件
2010-03-02 18:22 5197一,从http://opensource.adobe.com/ ... -
Flex数据交互方法 :httpservice, webservice, RemoteObject, socket
2010-02-27 17:06 1879【转载】 文章分类:Flash编程 http://h ... -
理解Flash Player 9垃圾回收机制
2010-02-02 18:27 1035理解Flash Player 9垃圾回 ... -
BlazeDS入门教程-很详细-赞原创作者一个
2010-01-11 23:51 1677什么是BlazeDS呢?BlazeDS是一个基于服务器的Ja ... -
一些漂亮的Flex主题下载
2010-01-11 10:31 6112一些漂亮的Flex主题下载1Digg meWindows Cl ... -
通过Stratus 服务器在Flash Player中使用RTMFP 开发 点对点应用(一)
2010-01-08 17:43 5356作者:Jozsef Vass 译者:巴巴鲁 ... -
ActionScript 3.0著名开源库 大集合
2009-12-29 17:26 1986这篇文章开始于对Adrian ... -
Flex 读取XML配置文件总结
2009-11-19 11:45 1943在Flex中我 ... -
一个list定义组件,网上找了很久没有,自己做了一个。
2009-10-29 11:55 1192一个list定义组件,网上找了很久没有,自己做了一个。希望对大 ... -
如何使用Flex RemoteObject components 与JAVA交互
2009-10-08 18:04 52372008-12-25 | 22:53分类:前端开发 ... -
flex 在线录制视频语音
2009-09-12 17:45 3562<?xml version="1.0" ... -
flex 蒙板 遮罩
2009-09-11 17:09 3838方法一 <mx:Image source=&q ... -
如何自定义FLEX3的loading进度条
2009-09-05 10:17 1712第一种:修改下载进度的文字为中文 建立扩展至 mx.prel ...
相关推荐
Apple 专业级图像处理软件,支持各种Raw格式的处理。加上文件管理,功能就显得大而全。
Aperture 3.5 使用手册
苹果专业图形处理软件aperture3,功能强于photoshop。该文档为apple的官方使用指南,看后就成为专业的图形处理专家。淘宝上高价销售的即为此文档。
Synthetic Aperture Radar Processing" simply and methodically presents principles and techniques of Synthetic Aperture Radar (SAR) image generation by analyzing its system transfer function. The text ...
adobe AIR的本地框架FluorineFx Aperture 通过它AIR应用程序能够直接调用使用C,C++,C#等编写的类库。
NoiseNinja for Aperture3 降噪插件
Inverse Synthetic Aperture Radar Imaging----Victor C. Chen 第一章 ISAR成像介绍 第二章 ISAR成像基本原理 第三章 ISAR成像 第四章 ISAR运动补偿 第五章 ISAR自聚焦方法 第六章 ISAR成像中的信号处理问题 第七章...
Mac下摄影专业工具Aperture 3的英文说明书
Synthetic Aperture Radar Interferometry with 3 satellites 经典教程
Become well-versed with advanced topics such as curves and how raw conversion works Written in an easy-to-follow conversational style and packed with tips and tricks for optimizing your workflow ☆ ...
《Spotlight Synthetic Aperture Radar Signal Processing Algorithms》原始文件超过60M,没有办法上传,故分为两部分,这是第二部分。 这本书是1995年的经典书,虽然标题是聚束SAR信号处理算法,但是里面讲述的...
3 SAR radiation pattern 4 generic synthetic aperture radar 5 spotlight synthetic aperture radar 6 stripmap synthetic aperture radar 7 circular synthetic aperture radar 8 monopulse synthetic aperture ...
Inverse Synthetic Aperture Radar Imaging with GPS data
Understanding Synthetic Aperture Radar Images-Chris Oliver-SciTech Publishing (2004)
Apple Pro Training Series - Aperture 3.pdf
A_method_of_MIMO_system_for_synthetic_aperture_radar_imaging
A Shared-Aperture Dual-Band Dual-Polarized Microstrip Array
一本isar的书。。不知道为什么文档类分数这么高。Synthetic Aperture Radar Processing" simply and methodically presents principles and techniques of Synthetic Aperture Radar (SAR) image generatio
Inverse Synthetic Aperture Radar Imaging With MATLAB Algorithms