我有一个示例项目,从已编译的VB6中调用可以正常工作,但从IDE或Excel的VBE中调用却不行。
这里有3个DLL:QA.DLL、QB.DLL和QAW.DLL。QA是用C#.NET编写的,QB和QAW是用VB6编写的。QAW是QA的COM包装器。
在调用代码中,我创建了一个激活上下文并加载了一个清单文件。
所有这些都可以在使用VB6创建的exe中正常工作,但在VB6的调试模式或Excel的VBA中却不能正常工作。
有什么想法吗?为什么IDE调用会有所不同,导致它不能正常工作?
我有一个示例项目,从已编译的VB6中调用可以正常工作,但从IDE或Excel的VBE中调用却不行。
这里有3个DLL:QA.DLL、QB.DLL和QAW.DLL。QA是用C#.NET编写的,QB和QAW是用VB6编写的。QAW是QA的COM包装器。
在调用代码中,我创建了一个激活上下文并加载了一个清单文件。
所有这些都可以在使用VB6创建的exe中正常工作,但在VB6的调试模式或Excel的VBA中却不能正常工作。
有什么想法吗?为什么IDE调用会有所不同,导致它不能正常工作?
这是因为应用程序实际上是从VB6.exe所在的目录运行的。您实际上可以将您的dll和清单放在那里并使其工作,但如果您进行大量的RegFree开发,该目录很快就会变得混乱不堪。