跨语言编程 ,com组件 ,求大神指点啊
假设有这样一个VC++编写的DLL(MyDll.dll,只有.lib,.dll,.h没有源代码),其中封装了一个类,以及其类函数如下(.h)
#define MyClass _LIB __declspec(dllimport)
Class MyClass _LIB MyClass
{
Public:
MyClass();
Virtual ~MyClass();
//成员函数
void Set();
BOOL Load(LPCSTR lpstrPathName);
static void convert (double ,double ,double);
protected:
//成员变量 略
Private:
//成员变量 略
}
一般而言,在C#中调用DLL封装的全局函数可以采用如下语句:
[DllImport("MyDll.dll",
CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern void MyGlobalFun(string, double,int );
问:如何在C#中调用MyDll.dll中封装的类MyClass的成员函数。
考虑将dll封装成com以便在C#中调用
但是,如何才能达到目的呢?如何才能利用类中的成员函数,如
void Set();
BOOL Load(LPCSTR lpstrPathName);
static void convert (double ,double ,double);
是不是想方法获得Myclass类的指针呢?如何获得呢?