我正在尝试在 VB6 中编译一些代码,它告诉我“模块之间的循环依赖关系”。它不屈尊告诉我哪些模块具有这些依赖关系。
有什么方法可以找到有关该问题的更多信息?
最佳答案
您有形成循环引用链的项目。使用菜单项目,然后使用引用来查看您引用的其他项目。然后对属于应用程序的所有其他项目执行此操作。画出哪些链接到哪些内容的粗略图表,在某些时候,您会发现引用循环回到其中一个项目。
您只需要关注对您自己创建的项目的引用。您还需要检查您创建的任何包含自定义 ActiveX 控件的项目。这可以在菜单 Project->Components 下找到。
您可能会发现您引用的类很少。在这种情况下,您可以将它们分离到另一个 activex DLL/库中,并让原始项目引用它而不是相互引用。
出现此问题的原因是 COM 依赖嵌入在库中的类型库来调用类及其方法。引用的库以类似于 C 中的包含文件的方式包含在此类型库中。循环引用没有“底部”,因此 COM 无法到达最底部的库以形成类型库。
关于vb6 - 在 VB6 中查找循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6766326/