当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

使用C#创建COM对象

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:50:37

”->“创建”,扩展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数据库表执行一个SQLming令,返回给定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] 


使用C#创建COM对象