C++寫的COM組件用於讀CPU卡,在C#中正常可以引用使用,可是在PB中倒是返回-2,不識別類名,代碼以下:c#
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。spa