有个COM组件,只有一个DLL文件。我在VC程序中如何调用这个组件中的对象和方法?如果能详细解释一下最好了。

解决方案 »

  1.   

    首先你需要知道这个组件中对象的CLSID和所有可用的方法,然后将它的接口实现出来。
    之后在程序中通过CoCreateInstance来创建这个对象的实例,就可以通过你所实现的接口进行调用了。
    你可以参考以下两篇文章:
    http://www.codeproject.com/com/comintro.asp
    http://www.codeproject.com/com/comintro2.asp
      

  2.   

    #import "path+your.dll" no_namespace;
    编译一次你的Debug中就会多一个.tlh文件,你打开看看就知道有什么接口和方法了
    然后就创建吧eg:
    IXXXXPtr   pXXXX = NULL;
    HRESULT hr = pXXXX.CreateInstance(__uuidof(CXXXX));
    if(FAILED(hr))
    {
       //不成功!
    }
    else
    {
        pXXXX->foo()         //到用方法
    }
      

  3.   


    有两个更简单的方法, VS6菜单里面就有。结果:一个是COleDispatchDriver, 一个是CWnd.