我对组件使用的理解 点击:712 | 回复:0



cn8848

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 1回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2004年5月29日
发表于:2004-06-01 17:03:00
楼主
组件的使用 1、必须有组件ID 2、必须有各接口ID 3、必须有各接口的声明及各接口中各函数的声明 4、首先初始化(分配空间)代码:CoInitialize(NULL);//一般来说这条代码执行肯定能成功 5、创建实例 hr = CoCreateInstance(CLSID_Mine, // CLSID of COM server,所以要求有组件的ID NULL, CLSCTX_INPROC_SERVER, // 进程内服务器 IID_IunKnown, // the interface IID,所以要求有各接口的ID (void**)&pmine// 要返回的接口指针,所以要求有个接口的声明 ); 6、有了IunKnown接口的指针pmine,我们就可以使用其QueryInterface方法查询其他所有的接口了,但有个前提, 必须知道其它接口的ID并有其声明 hr=pmine->QueryInterface(要找的接口的ID,要找的接口的指针);//查询成功后就可以使用这个指针访问此接口 的方法(这些方法应该在接口的声名中包含) 7、组件使用结束后,组件自己可以根据对他的引用数来判断是否卸载。 OPC组件的使用 1、必须有OPC组件ID 2、必须有各接口ID 3、必须有各接口的声明及各接口中各函数的声明 4、首先初始化(分配空间)代码:CoInitialize(NULL);//一般来说这条代码执行肯定能成功 5、创建实例 hr = CoCreateInstance(CLSID_Mine, // CLSID of COM server,所以要求有组件的ID NULL, CLSCTX_INPROC_SERVER, // 进程内服务器 IID_IunKnown, // the interface IID,所以要求有各接口的ID (void**)&pmine// 要返回的接口指针,所以要求有个接口的声明 ); 6、有了IunKnown接口的指针pmine,我们就可以使用其QueryInterface方法查询其他所有的接口了,但有个前提, 必须知道其它接口的ID并有其声明 hr=pmine->QueryInterface(要找的接口的ID,要找的接口的指针); 7、添加GROUP和ITEM //此处与com不同,需要添加GROUP和ITEM//??这是为什么,为何不像com中的那样直接调用方法。


热门招聘
相关主题

官方公众号

智造工程师