一、简介
一提到AIR,大家可能都会联想到那些丰富多彩、绚丽的界面,令人激动的互联网桌面应用能力。但是AIR贫乏的本地代码(Native Code)调用能力,使得它把大多数本地应用都拒之门外。
FluorineFx Aperture framework作为Fluorine的子项目,为我们提供了一个对本地OS支持的框架(windows only)。它以非侵入性的方式为AIR应用提供了对本地代码的扩展能力。在运行时期间,框架也会自动与您的AIR应用挂钩,而不需要额外安装和配置任何东西。
Aperture framework提供了一个AIR应用软件和自动化对象交互的桥梁。同时框架使用后期绑定访问自动化对象。
二、Hello World
1、建立本地代码:
1) 首先,我们新建一个ATL应用——airexec
2) 然后,选择创建DLL项目,并完成向导
3) 配置项目
a ) 使用静态链接
b) 运行时库配置:DEBUG —— /MTd RELEASE —— /MT
c) 由于AIR需要向导安装,同时不需要人工干预,故本地DLL也不要进行注册表登记:
4) 构建我们自己的本地实现类——MyClass
5)修改IDispatchImpl的参数wMajor 和 wMinor,改为 0xFFFF:
指定的值0xFFFFF告诉IDispatchImpl直接从您的模块的资源和类型库加载类型库,而这些类型库根本不需要被注册。
6) 好了,现在可以添加我们的自定义方法了,在IMyClass接口上添加方法Test:
7) 实现代码:
C#代码