- 浏览: 510821 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 3344最近去一家台企面 ... -
Windows环境下配置+运行red5源码+AS3连接red5简单示例
2010-04-19 13:39 5183Windows环境下配置+运行red5源码+AS3连接red5 ... -
SQLITE入门至精通
2010-04-07 11:13 3025关键 ... -
教你解析FLEX JSON中的一个问题 关于键值 和键
2010-04-01 15:25 2324字符串:message = ' "param&quo ... -
air写文件保存在安装目录
2010-03-31 15:46 3222AIR中..保存文件我们般会像下面这样操作 var f ... -
弱弱的一个小问题,bitmapdata pngencoder base64 bytearray
2010-03-31 14:16 1153好久没写东东了,呵呵。随便写点点。关于bitmapdata如何 ... -
FLASH教程:SWF间的双向通信
2010-03-02 18:23 1362假设有一个主 SWf 名为 m ... -
如何把as文件生成swf格式文件
2010-03-02 18:22 5290一,从http://opensource.adobe.com/ ... -
Flex数据交互方法 :httpservice, webservice, RemoteObject, socket
2010-02-27 17:06 1910【转载】 文章分类:Flash编程 http://h ... -
理解Flash Player 9垃圾回收机制
2010-02-02 18:27 1087理解Flash Player 9垃圾回 ... -
BlazeDS入门教程-很详细-赞原创作者一个
2010-01-11 23:51 1721什么是BlazeDS呢?BlazeDS是一个基于服务器的Ja ... -
一些漂亮的Flex主题下载
2010-01-11 10:31 6176一些漂亮的Flex主题下载1Digg meWindows Cl ... -
通过Stratus 服务器在Flash Player中使用RTMFP 开发 点对点应用(一)
2010-01-08 17:43 5399作者:Jozsef Vass 译者:巴巴鲁 ... -
ActionScript 3.0著名开源库 大集合
2009-12-29 17:26 2044这篇文章开始于对Adrian ... -
Flex 读取XML配置文件总结
2009-11-19 11:45 1988在Flex中我 ... -
一个list定义组件,网上找了很久没有,自己做了一个。
2009-10-29 11:55 1250一个list定义组件,网上找了很久没有,自己做了一个。希望对大 ... -
如何使用Flex RemoteObject components 与JAVA交互
2009-10-08 18:04 53122008-12-25 | 22:53分类:前端开发 ... -
flex 在线录制视频语音
2009-09-12 17:45 3647<?xml version="1.0" ... -
flex 蒙板 遮罩
2009-09-11 17:09 3875方法一 <mx:Image source=&q ... -
如何自定义FLEX3的loading进度条
2009-09-05 10:17 1755第一种:修改下载进度的文字为中文 建立扩展至 mx.prel ...
相关推荐
用户可以通过将Aperture 3 Sample Library文件和Wyoming文件夹拖入硬盘上的“图片”文件夹来使用这些样本资料库。对于从Mac App Store购买Aperture的用户,可以按照使用手册中的指导来处理自己的图像。 Aperture的...
在提供的压缩包中,`可执行文件`可能是编译后的Canny边缘检测程序,可以直接运行在支持的平台上查看效果。而`源代码`文件则包含了实现Canny算法的具体代码,你可以通过阅读代码了解其实现细节,这对于学习和理解...
合成孔径雷达(Synthetic Aperture Radar,简称SAR)是一种遥感技术,它利用雷达信号与目标相互作用,生成高分辨率的地面图像。在SAR图像处理中,C++是一种常用的编程语言,因为它提供了高效的内存管理和计算能力,...
Apple 专业级图像处理软件,支持各种Raw格式的处理。加上文件管理,功能就显得大而全。
### Aperture 3.5 使用手册关键知识点解析 #### 一、Aperture 3.5 简介 Aperture 3.5 是由 Apple Inc. 开发的专业级照片管理和编辑软件,它提供了强大的图像处理功能,适用于摄影师、设计师和其他创意专业人士。这...
3. 调试和测试AIR应用程序:通过启动debuggingConsole和测试应用程序来验证配置是否正确,并且AIR应用程序是否能够与FluorineFx框架通信。 ***R项目中需要复制的文件:项目中必须包含特定的AS文件和DLL文件(如...
### C++ OpenCV3 源代码 Harris 角点检测 #### 一、Harris角点检测概述 在计算机视觉领域,特征检测是一项基础而重要的技术。它可以帮助我们从图像中提取出有意义的信息,比如边缘、角点等,进而进行更复杂的图像...
这本书提供了充分的代表性逆合成孔径雷达(ISAR)成像。本书涵盖了所有可能的ISAR成像方面。...如高分辨率SAR的重要概念,脉冲压缩和图像形成连同相关的MATLAB代码。 很全面,本代码很适合学习研究。
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 ...
《大华平台SDK开发手册(C++版)》是针对大华摄像机平台的软件开发工具包,主要提供了C++语言的接口,便于开发者进行二次开发,实现与大华摄像机的深度集成。这个SDK涵盖了多个关键功能,如语音对讲、云台控制等,为...
**SAR的CS算法C++程序源代码** 合成孔径雷达(Synthetic Aperture Radar, SAR)是一种利用雷达原理获取高分辨率地表图像的技术。在SAR系统中,通过移动平台上的雷达发射天线来合成一个大的等效孔径,从而实现对目标...
在Node.js端,项目可能使用了`child_process`模块来调用Swift编译的可执行文件,实现跨语言通信。`child_process`允许Node.js进程启动子进程,并与之交互,这使得Node.js可以调用任何可执行文件,包括用Swift编写的...
**SAR雷达与CS算法简介** SAR,全称为Synthetic Aperture Radar(合成孔径雷达),是一种利用雷达原理进行远程遥感成像的技术。它通过在飞行过程中发射和接收雷达信号,然后利用数据处理技术将这些信号合成,形成高...
adobe AIR的本地框架FluorineFx Aperture 通过它AIR应用程序能够直接调用使用C,C++,C#等编写的类库。
3. ** aperture宏**:Aperture宏定义了绘图时使用的形状,如圆形、矩形、孔或其他自定义形状。它们用D代码定义,并在绘图指令中引用。 4. **光圈调用**:在Gerber文件中,每个绘图操作都会指定一个光圈来决定绘制的...
### ISARLAB:逆合成孔径...通过使用ISARLAB,研究人员可以更好地理解雷达信号与目标之间的关系,进一步推动了雷达成像技术的发展。此外,该软件对于教育培训也有着不可忽视的价值,是雷达领域不可或缺的重要资源之一。
通过MATLAB和VC++的交互,可以实现快速原型设计和优化的代码执行。 在学习这些案例时,建议读者先理解SAR图像的基本原理,然后逐步剖析代码,了解每个函数的作用和整个处理流程。同时,结合理论知识和实际代码,...
### Aperture 3 英文说明书解读:摄影大师的专业工具 #### 核心知识点解析: ...无论是专业摄影师还是摄影爱好者,Aperture 3 都能提供一个理想的平台,让创意得以自由发挥,使每一张照片都能展现出最佳状态。