规避vb6二进制兼容性

规避vb6二进制兼容性,vb6,dll,binary-compatibility,Vb6,Dll,Binary Compatibility,这或多或少是一个学术问题,帮助我更好地理解这个过程。。。与其说是要求了解如何绕过二进制兼容性,不如说是不需要解释为什么我不应该尝试这个:) 假设我在vb6中创建并编译了一个没有公共成员的dll。事实上,我认为它可能不允许您在没有至少一个公共方法的情况下编译,所以假设我们创建一个公共方法,但它只是为了让dll编译,否则我们将忽略它 现在假设我将项目兼容性设置为该dll,并且在任何情况下我都不会更新该dll或将兼容性更改为该dll的更新版本 在这个场景中,我认为vb6永远不会抛出那些破坏兼容性的错误

这或多或少是一个学术问题,帮助我更好地理解这个过程。。。与其说是要求了解如何绕过二进制兼容性,不如说是不需要解释为什么我不应该尝试这个:)

假设我在vb6中创建并编译了一个没有公共成员的dll。事实上,我认为它可能不允许您在没有至少一个公共方法的情况下编译,所以假设我们创建一个公共方法,但它只是为了让dll编译,否则我们将忽略它

现在假设我将项目兼容性设置为该dll,并且在任何情况下我都不会更新该dll或将兼容性更改为该dll的更新版本

在这个场景中,我认为vb6永远不会抛出那些破坏兼容性的错误消息,并且会在每次编译时继续对dll使用相同的UUID,即使您确实破坏了兼容性

但是,我认为为在该dll中创建的类生成的值每次都会更改。即使编译该dll时没有兼容性问题,但最终还是会遇到引用该dll的项目的兼容性问题


这听起来正确吗?

我认为你的逻辑是正确的。尽管您也可以只使用项目兼容性


我不知道你为什么要这么做,但你说这是一个学术问题

我认为你的逻辑是正确的。尽管您也可以只使用项目兼容性


我不知道你为什么要这么做,但你说这是一个学术问题

同意。当我开始从事当前工作时,我创建了一个新控件,当有人更改它时,我们总是会遇到兼容性问题。我不负责构建,但我注意到在发布新版本时没有更新兼容性DLL的流程。所以我只是为自己证实这就是背后的原因。(我已经正确设置了流程)同意。当我开始从事当前工作时,我创建了一个新控件,当有人更改它时,我们总是会遇到兼容性问题。我不负责构建,但我注意到在发布新版本时没有更新兼容性DLL的流程。所以我只是为自己证实这就是背后的原因。(我已经正确地设置了这个过程)涉及实际编程问题的问题在这里非常适合这个主题。纯粹的学术问题不适合我们的问答形式。@TimPost Oh它肯定涉及实际的、实际的编程问题,而这根本不是一个“纯粹的”学术问题。我说这或多或少是一个学术问题,不能让人们说“哦,这不是个好主意,不要这样做。”像你这样的人反复告诉我的信息是,以清晰的方式构建我的问题,从而得出最佳答案,远不如确保你没有看到“学术界”这样错误的流行语那么重要。@TimPost感谢你花时间解释你的推理。问题涉及实际,实际的编程问题在这里完全是一个主题。纯粹的学术问题不适合我们的问答形式。@TimPost Oh它肯定涉及实际的、实际的编程问题,而这根本不是一个“纯粹的”学术问题。我说这或多或少是一个学术问题,不能让人们说“哦,这不是个好主意,不要这样做。”像你这样的人反复告诉我的信息是,以清晰的方式构建我的问题,从而得出最佳答案,远不如确保你不会看到“学术界”这样错误的流行语那么重要。@TimPost感谢你花时间解释你的推理。