VB6:有关依赖 OCX 版本号的问题
对于 VB6 应用程序来说,引用某些 OCX 版本很重要吗?
我注意到,如果我将 VB6 应用程序代码通过一台计算机上的 IDE 放置,那么表单文件将引用与使用另一台计算机不同的某些 OCX 版本。
这方面的经验法则是什么?是否可以安全地假设大多数旧 OCX 版本将相互兼容,因此我不必担心?
一些有问题的 OCX 是:
RICHTX32.OCX v1.1 and v1.2
COMCTL32.OCX v1.2 and v1.3
Is it important for a VB6 app to refer to certain OCX versions?
I have noticed that if I put my VB6 app code through the IDE on one machine then the form files will refer to different version of some OCXs than if I use another machine.
What is the rule of thumb with this? Is it safe to assume that most of these old OCX versions will be compatible with each other and so I shouldn't worry?
Some of the OCXs in question are:
RICHTX32.OCX v1.1 and v1.2
COMCTL32.OCX v1.2 and v1.3
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能应该安装您的应用程序创建的 ocx 文件,并替换现有版本仅当您要安装的版本较新。这是一个问题
You should probably install the ocx files your application was created with replacing existing versions only if the version you are installing is newer. Here is a question How can you force VB6 to use the DLLs and OCXs from the app directory? that explains installing all your application files into the same folder and running from there.
VB6 应用程序引用某些 OCX 版本重要吗?
这方面的经验法则是什么?
确保选中“升级 ActiveX 控件”。在“项目属性”下的“常规”选项卡上。
MSDN 搜索“升级 ActiveX 控件”,网址为 http://social.msdn.microsoft.com/Search/en-US?query=%22Upgrade+ActiveX+Controls%22&ac=8
可以安全地假设大多数这些旧版本OCX 版本将相互兼容,所以我不应该担心?
对于通常来自第三方供应商或内部的其他 ActiveX 控件,您可能会遇到问题。在你的具体情况下,我不会担心它,直到它发生。这是一个非常复杂的话题。
如何使用项目和二进制兼容性,位于 http://support。 microsoft.com/kb/161137
MSDN 搜索*二进制兼容性 http://social.msdn.microsoft.com/Search/en-US?query=%22Binary%20compatibility %22&ac=8
Is it important for a VB6 app to refer to certain OCX versions?
What is the rule of thumb with this?
Make sure "Upgrade ActiveX Controls" is checked. Under Project properties, on the General tab.
MSDN Search of "Upgrade ActiveX Controls" at http://social.msdn.microsoft.com/Search/en-US?query=%22Upgrade+ActiveX+Controls%22&ac=8
Is it safe to assume that most of these old OCX versions will be compatible with each other and so I shouldn't worry?
For other ActiveX controls, usually from third-party vendors or in-house, you may have a problem. In your specific case, I would not worry about it, until it happens. This is a very complex subject.
How To Use Project and Binary Compatibility at http://support.microsoft.com/kb/161137
MSDN Search of *Binary compatibility at http://social.msdn.microsoft.com/Search/en-US?query=%22Binary%20compatibility%22&ac=8
版本中的更改是否会产生“重大”更改可能很重要。如果在您的开发人员计算机上,它似乎不会以不利的方式影响应用程序,那么您可能在这些计算机上没问题。但是,如果/当您需要将此代码部署到一台或多台用户计算机时,您还需要确保这些控件以及与您的代码兼容的版本位于这些计算机上。
您可以创建一个安装包来打包并安装您正在使用的版本,以确保这不会成为问题。
It may matter if the changes in versions create "breaking" changes. If on your developer machines it doesn't seem to affect the application in an adverse way you are likely fine on those machines. However, if/when you need to deploy this code to one or more users machines you will also need to make sure these controls are on those machines along with a version that is compatible with your code.
You can create an install package that would wrap up and install the versions you are using to ensure this would not be an issue.