C++写的COM组件用于读CPU卡,在C#中正常能够引用使用,但是在PB中却是返回-2,不识别类名,代码如下:
OleObject ole_AddCom
ole_AddCom = Create OLEObject
li_rc = ole_AddCom.ConnectToNewObject("AddCom.AddComService") //AddCom为c#中namespace,AddComService为c#中namespace中的class
if li_rc <> 0 then
MessageBox("ConnectToNewObject", string(li_rc) )
return
end if
//----------调用com组件中的函数--------------
li_total = ole_AddCom.iadd(li_a, li_b) //iadd为c#中namespace(AddCom为c)中class(AddComService为c)中的函数(iadd())
AddCom.AddComService 其中AddCom就是在C#中的命名空间,AddComService就是类名,在C#中引用后发现AddCom变成了AddComlib,然后在PB程序中ole_AddCom.ConnectToNewObject("AddCom.AddComService")改成了这个后好用,AddCom就是要注册的那个C++动态库名称,没有lib在PB中,C#中引用出现lib。