首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 建立 COM 物件(三):註冊 COM Interop、強式名稱與 VC++ 用戶端呼叫

     編輯:關於C語言

註冊 COM Interop

方案總管右鍵專案 → 屬性 → 組態屬性 → 建置 → 輸出區段 → Register for COM Interop 設為 true,使組件可與受控/非受控應用程式互動。

強式名稱簽署

sn -k Database_COM_Key.snk
// AssemblyInfo.cs
[assembly: AssemblyKeyFile("Database_COM_Key.snk")]

建置產生可被匯入的類別庫 (DLL)。

VC++ 用戶端呼叫

  1. 建立 VC++ 專案
  2. #import 匯入類型庫
  3. 建立 Smart Pointer 執行 COM 介面方法
  4. 應用程式載入時呼叫 CoInitialize(NULL)
CoInitialize(NULL);
Database_COMObject::DBCOM_InterfacePtr p(__uuidof(Database_COMObject::DBCOM_Class));
db_com_ptr = p;
db_com_ptr->Init("scott", "tiger");

執行 SQL 查詢並讀取資料

char cmd[1024];
sprintf(cmd, "SELECT COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS FROM CUSTOMERS WHERE CUSTOMERID = '%s'", m_id);
bool ret = db_com_ptr->ExecuteSelectCommand(cmd);
if (!db_com_ptr->NextRow()) return;
_bstr_t mData = db_com_ptr->GetColumnData(3);
const char* p = mData;
m_address = (CString)p;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved