有哪位朋友开发过控件? 自己开发控件后如果需要增加接口怎么处理? 为了版本兼容,如何增加接口呢?怎么处理才能使新增加的接口和老接口都能在添加控件时暴露给开发者呢?谢谢大家的参与!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当希望为组件添加新功能时,应该添加新的接口。新的接口【INew】应该包含旧的接口【IOld】中的所有接口函数和你新添加的接口函数。修改IDL.在实现类中只是想你的新的接口就可以了C**: pulic IOld, public INew{ // IOld // 旧的接口函数不用修改 // INew // 实行新的接口函数}//----------------------------------------------个人之见,请各位高手指正 在XXCtrl.h中:// 调度映射 afx_msg void StartRender(LPCTSTR Flie);//你的接口函数。然后在。CPP里:// 调度映射BEGIN_DISPATCH_MAP(XXCtrl, COleControl) DISP_FUNCTION(XXCtrl, "StartRender", StartRender, VT_NULL, VTS_BSTR)//注意VT_NULL, VTS_BSTR,自己MSDN下就明白了END_DISPATCH_MAP()然后你就可以放心的写了:void XXCtrl::StartRender(LPCTSTR Flie) //注意LPCTSTR{。。}这个接口在VB,IE等调用都是没有问题的。 谢谢楼上两位!!不知道两位是否是用ATL开发的ActiveX控件,而且是否考虑了版本向后兼容?添加新的接口后怎样才能暴露给开发人员呢?IDL中怎么修改? 直接在IDL中增加新接口或者属性,然后修改对应的版本号 简单的字符串截取问题 如果是句人听不懂的话,那说不说有什么区别? 两种加载动态链接库的区别。 紧急!快来看看,什么NTVDM CPU 遇到无效的指令什么的,来进来再说吧 同时实现TCP,UDP的SOCKET 通信! 100分菜鸟问题:使用MFC的CRecordset(ODBC)类,如何检测到那些记录是新增的?多谢!! 请问如何在listctrl中... DrawItem的疑问! 请问MBR的详细结构? 用键盘钩子改变用户的键盘输入,keybd_event方法对中文输入法不响应怎么办 问一个进程相关程序架构实现问题? edit句柄问题
新的接口【INew】应该包含旧的接口【IOld】中的所有接口函数和你新添加的接口函数。
修改IDL.
在实现类中只是想你的新的接口就可以了
C**: pulic IOld,
public INew
{
// IOld
// 旧的接口函数不用修改 // INew
// 实行新的接口函数
}
//----------------------------------------------
个人之见,请各位高手指正
// 调度映射
afx_msg void StartRender(LPCTSTR Flie);//你的接口函数。
然后在。CPP里:
// 调度映射BEGIN_DISPATCH_MAP(XXCtrl, COleControl)
DISP_FUNCTION(XXCtrl, "StartRender", StartRender, VT_NULL, VTS_BSTR)
//注意VT_NULL, VTS_BSTR,自己MSDN下就明白了
END_DISPATCH_MAP()
然后你就可以放心的写了:void XXCtrl::StartRender(LPCTSTR Flie) //注意LPCTSTR
{
。。
}
这个接口在VB,IE等调用都是没有问题的。
不知道两位是否是用ATL开发的ActiveX控件,而且是否考虑了版本向后兼容?
添加新的接口后怎样才能暴露给开发人员呢?IDL中怎么修改?