VB6 . ocx文件工作,但不是当我重新编译(相同的代码)



我正在更新一个使用.ocx文件与数据库通信的工作程序。该程序与几个月前编译的.ocx版本一起工作得很好。但是,如果我尝试编译.ocx文件的新版本,程序就不想再与数据库通信了。

我的第一个想法是。ocx文件的代码中一定有问题。因此,我尝试打开.ocx项目的备份(其中包含与工作。ocx文件相同的代码)并编译它。但这也行不通。与工作中的.ocx相同的代码,在安装过程中经过相同的注册表过程,但它不能工作。

我试着编译更多的备份,一直回到2005年,但没有一个。ocx文件工作,除了我几个月前编译的那个。

每次我重新编译。ocx文件时,我也将其注册到开发环境中的程序中,并重新编译主程序。exe文件。奇怪的是,当我在开发环境中运行程序时,我从备份中编译的所有.ocx文件都可以工作。但是,当我编译主。exe文件,将文件移动到另一台计算机的安装程序中并安装它们时,程序就停止正常工作了。

所以总结一下,我有一堆。ocx项目,它们将在同一台计算机的开发环境中编译和使用我的程序。只要我把文件移到安装程序中并安装,程序就停止工作了。我可以用几个月前找到的。ocx文件让它工作,但是当我试图编译产生该工作文件的同一个项目时,程序不起作用。

我试着从几年前的备份中取出一个.ocx文件,而不重新编译(类似于我对工作副本所做的),这也失败了。我只能让我的安装程序与几个月前的.ocx文件一起工作。它不可能是代码的问题,因为我尝试编译具有相同代码的工作.ocx的原始项目。我不认为这是注册表的问题,因为所有的文件在安装过程中都经过相同的注册表过程。

至少我有一个工作的安装程序(使用我找到的。ocx),但现在我永远无法对。ocx文件进行更改,因为我编译的所有内容都无法工作。我一定是错过了什么,但我不知道是什么

感谢您的快速回复!亚历克斯·K。他的解决方案非常有效。

为了解决我的问题,我打开了一个新的ocx项目,进入项目->属性->组件选项卡,选择二进制兼容性选项并浏览到工作ocx文件的位置。

这现在允许我更新我的ocx项目与我的应用程序。

最新更新