一、创建ATL项目
在VC++6.0工作平台中,点击菜单 File 下的 New 菜单项,在出现的 New 对话框中选中 Projects 卡片,在列表框中选中 ATL COM AppWizard(活动模板库组件导航)。在Project Name 编辑框中输入项目名如 SimplePlusDll ,并选择合适的 Location 后,按确认按钮进入下一个对话框:ATL COM Appwizard - step 1 of 1,在 Server Type 中选择Dynamic Link Library 【DLL】 ,在按下 Finish按钮后,一个组件的框架已经建立。
二、添加COM对象
在VC++ 菜单 Insert中选中New ATL Object…菜单项,出现 ATL Object Wizard 对话框。在左边的Category中选择Objects,右边的 Objects 中选中Simple Object 项。按 Next 按钮。
在出现的 ATL Object Wizard 属性对话框中 Names 卡片中的八个编辑框中左上方的 Short Name 编辑框中输入短名如 FirstObj,其他七个编辑框的内容会自动生成。然后按确认按钮。
三、给组件添加函数
在 VC++工作平台的左边的 Workspace 的 类视图中找到接口 IFirstObject项,右键,在出现的快捷菜单中选择Add Method …,出现 Add Method to Interface 对话框。输入以下内容
Method Name:
Add
Parameters:
([in] long n1,[in] long n2,[out,retval] long* pSum)
四、给add函数添加代码
在类视图 中双击CFirstObject目录中的 IFirstObject 的Add,添加该函数的代码如下
STDMETHODIMP CFirstObj::Add(long n1, long n2, long *pSum)
{
// TODO: Add your implementation code here
*pSum = n1 + n2;
return S_OK;
}
五、编译工程后,VC 环境会自动注册我们的组件。
六、在javascript中调用该组件的Add函数
<script language="javascript" defer>
var a=100;
var b=200;
var result;
var Obj;
Obj = new ActiveXObject("SimplePlusDll. FirstObj");
result=Obj.Add(a,b);
alert();
alert(result);
</script>
将这段脚本保存成.js文件。双击该文件,即可运行调用COM的Add函数。