如果我希望在接口的方法:CallFunc( MyClass* mycls, MyData data );
class MyClass
{
public:
   MyClass()
   {};
   
   int a;
   BSTR b;
};struct Mydata
{
   int a;
   BSTR b;
};该如何定义?
在客户端调用COM时,该怎么办?
能给个直观点的例子吗,谢谢!

解决方案 »

  1.   

    你必须为你的类实现一个IMyClass接口,把struct Mydata定义在IDL文件的库块内即可。
      

  2.   

    回复人: ColderRain(iFly) ( ) 信誉:100  能写的详细点吗?
    举个例子吧?
      

  3.   

    如果这个接口是基于UnIknown的比较简单,在你的idl文件中加入这个结构的定义就可以了
    在你的客户文件中#import 这个tlb文件,并加入相同的结构定义就可以使用了,如果是Idispatch就需要导出苦的一些信息
      

  4.   

    __declspec(dllexport)
    把他导出去就行了
    __declspec(dllexport)   class MyClass
    {
    public:
       MyClass()
       {};
       
       int a;
       BSTR b;
    };__declspec(dllexport)    struct Mydata
    {
       int a;
       BSTR b;
    };祝你好运!