程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#創建COM對象(3)

用C#創建COM對象(3)

編輯:關於C語言

在創建COM對象前,我們必須向COM Interop注冊該對象。右擊方案管理器中的工程名字,點擊快捷菜單上的“屬性”選項,然後再點擊“配置”->;“創建”,擴展output小節,將Register for COM Interop選項的值設置為true。這樣,一個COM對象就能夠與可管理性應用程序進行交互。

為了使COM對象能夠被外部對象調用,類庫組合必須有一個強名字。創建強名字需要用到SN.EXE名字:

sn -k Database_COM_Key.snk
打開AssemblyInfo.cs,並修改下面一行的內容:
[assembly: AssemblyKeyFile(";Database_COM_Key.snk";)]

創建對象。創建對象會生成一個可以被導入到可管理性或非可管理性代碼中的類庫。

第二部分:使用Visual C++創建訪問COM對象的客戶端軟件

·使用VC++開發環境創建一個簡單的工程。

·使用#import directive導入類型庫。

·在界面中創建一個Smart Pointer,從接口中執行COM類提供的功能。確保在應用程序加載時添加CoInitialize()調用:

CoInitialize(NULL);
Database_COMObject::DBCOM_InterfacePtr p(__uuidof(Database_COMObject::DBCOM_Class));
db_com_ptr = p ;
db_com_ptr->;Init(";scott"; , ";tiger";);

下面的代碼對Customers數據庫表執行一個SQL命令,返回給定ID的客戶的信息:

char cmd[1024];
sprintf(cmd , ";SELECT COMPANYNAME , CONTACTNAME ,
CONTACTTITLE , ADDRESS FROM CUSTOMERS WHERE CUSTOMERID = '%s'"; , m_id );
const char *p ;
bool ret = db_com_ptr->;ExecuteSelectCommand(cmd);
if ( ! db_com_ptr->;NextRow() ) return ;
_bstr_t mData = db_com_ptr->;GetColumnData(3);
p = mData ;
m_address = (CString)p ;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved