zoukankan      html  css  js  c++  java
  • 使用ATL设计组件(vs2008)

    使用ATL设计组件(vs2008)

    Fangyukuan 

    2010-4-9

     

    新建一个工程:

      

     

    点击OK,其它都是Next一直到Finish.

     

     

     

    工程建好后,可以看到如下类视图:

     

     

    点击Project->Add Class…

     

    选择ATL Simple Object

     

     

     

    Short name输入新加类名:

     

     

     

    点击Finish可以看到类视图多一一个接口Ikuan

     

     

    在接口上面增加一个方法:

     

     输入方法名

    选择参数类型和输入参数。

     

    点击完成就可以了。

    打开kuan.cpp在方法Add增加代码,如下:

    STDMETHODIMP Ckuan::Add(LONG nNum1, LONG num2, LONG* nRet)
    {
    // TODO: Add your implementation code here
    *nRet = nNum1 + num2;
    return S_OK;
    }

    写一个测试工程:

    新工程,我们选择一个Win32的Console就行了。

    #include "stdafx.h"
    #include
    <iostream>
    using namespace std;
    #include
    "http://www.cnblogs.com/ATLComDemo/ATLComDemo/ATLComDemo_i.c"
    #include
    "http://www.cnblogs.com/ATLComDemo/ATLComDemo/ATLComDemo_i.h"

    int _tmain(int argc, _TCHAR* argv[])
    {
    //声明HRESULT和Ikuan接口指针
    Ikuan * IkuanATL = NULL;

    HRESULT hr
    = CoInitialize(NULL); //初始化COM

    //使用SUCCEEDED宏并检查我们是否能得到一个接口指针
    if(SUCCEEDED(hr))
    {
    hr
    = CoCreateInstance(CLSID_kuan,
    NULL,
    CLSCTX_INPROC_SERVER,
    IID_Ikuan,
    (
    void **)&IkuanATL);
    //如果成功,则调用AddNumbers方法,否则显示相应的出错信息
    if(SUCCEEDED(hr))
    {
    long ReturnValue;
    IkuanATL
    ->Add(8,9,&ReturnValue);
    cout
    << "The answer for 8+9 is:" << ReturnValue << endl;
    IkuanATL
    ->Release();
    }
    else
    {
    cout
    << "CoCreateInstance Failed." << endl;
    }
    }
    CoUninitialize();
    //释放COM
    return 0;
    }

    代码下载1  代码下载2

    本文地址:http://www.cnblogs.com/fangyukuan/archive/2010/04/09/1708651.html

  • 相关阅读:
    JS重写alert,保证弹窗错误的友好性
    wpf窗体中复合控件焦点控制
    mybatis特殊字符转义
    SpringMVC HandlerMethodArgumentResolver自定义参数转换器
    IntelliJ IDEA创建maven web项目
    shiro app
    Linux查看日志定位问题
    Flask中使用Flask-Migrate扩展迁移数据库
    flask + pymysql操作Mysql数据库
    HTTP
  • 原文地址:https://www.cnblogs.com/fangyukuan/p/1708651.html
Copyright © 2011-2022 走看看