佚名通过本文主要向大家介绍了atl组件,anst版本的atl71.dll,atl71.dll版本不兼容,atl34砂轮,atl方形动力电池等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何更改用ATL编写的组件的版本号?
描述:
解决方案1:
描述:
*请看清楚问题再回答,谢谢!
问题如下:
在用OLE/COM Object Viewer(VC所带工具)查看注册过的用ATL编写的组件时,在组件名称后面的括号内会有个版本号,如(Ver 1.0)。
在项目文件夹下的*.idl文件中我找到了这个版本号的定义,即:version(1.0),我曾经试过将其改成2.0,然而更改后,用regsvr32注册成功,再用OLE/COM Object Viewer查看,确实已经变成(Ver 2.0),但在调用组件时却报错说组件版本不正确。
请问我要如何修改这个版本号才可以正确使用该组件?
*另:在资源文件中修改其版本号,不能够在OLE/COM Object Viewer中显示,那个版本号只能在查看文件属性时显示。
劳驾高人指点,谢谢!!!
解决方案1:
呵呵,很简单啊。
1。改你的组件的头文件,在组件类的基类IDispatchImpl的第四个模板参数(大版本号,这个参数不给出,则默认为1)和第五个模板参数(小版本号,默认是0)
2。在项目中的*.rgs文件中,把"****.****.1"改为你的版本号,比如"****.****.2"
总之,上面两处的版本号要和IDL文件里的library节的版本号一致。
如果没有你可以自己添加资源-Version
解决方案3:你需要在项目的资源中修改Version-VS_VERSION_INFO一般有四处.