- ·上一篇文章:将图片保存到一个XML文件
- ·下一篇文章:使用C#获取汉字拼音首字母的方法
使用C#创建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 ;
!
使用C#创建COM对象