vps做网站,如何在工商局网站上做网登,百度信息流平台,网站备案需要些什么From: http://hi.baidu.com/ocnc/blog/item/2c7fc45c1d1f1051fbf2c0ea.html VC中调用C#写的DLL时#xff0c;对C#这边的DLL有要求#xff0c;即要在.NET这边以COM方式生成DLL#xff1b;
步骤#xff1a;
1.创建类库#xff1b;类库的创建必须分为接口和实现类#xff…From: http://hi.baidu.com/ocnc/blog/item/2c7fc45c1d1f1051fbf2c0ea.html VC中调用C#写的DLL时对C#这边的DLL有要求即要在.NET这边以COM方式生成DLL
步骤
1.创建类库类库的创建必须分为接口和实现类给外面提供的是COM接口
创建了接口和类之后还要创建“Guid”这个在“工具-》创建GUID”创建。[Guid(A1DEEF6C-A752-4498-9AA9-7ABFA2C9B8C2)]
2.在“项目属性-》生成”勾选“为COM Interop注册”在“项目属性-》应用程序-》程序集信息”中设置“使程序集COM可见”
经过上面两步就生成了COM方式的DLL会生成两个文件一个是DLL文件一个是tlb文件VC要用的正是这个tlb文件。 VC这边的调用方式有两种一种是用命名空间的方式一种是不用命名空间的方式。
不用命名空间的方式
#import xxx.tlb no_namespace named_guids
int main(int argc, char* argv[])
{ CoInitialize(NULL); IUserPtr pICalc(CLSID_User);//接口名Ptr CLSID实现类的名称 int ret pICalc-Add(4, 6);//直接调用接口函数 CoUninitialize();
}
用命名空间的方式
#import xxx.tlb
using namespace xxx;
int main(int argc, char* argv[])
{ CoInitialize(NULL); xxx::IUserPtr pUsrNULL;//声明接口 HRESULT hrpUsr.CreateInstance(__uuidof(xxx::User));//创建实现类的实例 int i pUsr-Add(3, 4);//调用接口函数
CoUninitialize();
}