从DLL中的导出类,DLL代码如下:
__declspec (dllexport) __stdcall class myClass//类
{
private:
int a,b;
public:
void __stdcall setValue(int a,int b);
int __stdcall Add();
};
void __stdcall myClass::setValue(int a,int b)//成员函数
{
this->a = a;
this->b = b;
}
int __stdcall myClass::Add()//成员函数
{
return a+b;
}
调用这个DLL中,先要进行类声明,和普通类的区别是,不用实现类中的方法体。
在.h文件中声明类如下:
__declspec(dllimport)__stdcall class myClass
{
int a,b;
public:
void __stdcall setValue(int x,int y);
int __stdcall Add();
};
同时在调用工程中添加DLL的导出文件lib,测试窗口的.cpp文件中调用类如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
myClass *theClass = new myClass;
theClass->setValue(12,30);
int a=theClass->Add();
ShowMessage(a);
}