Vb6 visual basic开发环境不能提供一次使用的多个实例

Vb6 visual basic开发环境不能提供一次使用的多个实例,vb6,Vb6,我看了所有的文章,但仍然不能排除错误。 当我启动桌面应用程序时,它抛出了下面提到的错误。 “visual basic开发环境不能提供单一用途类的多个实例。有关调试单一用途对象的限制,请参阅文档”我相信您正在实例化ActiveX EXE/DLL,该ActiveX EXE/DLL已将属性“Instance”设置为“SingleUse”。您可以在此处找到此属性: 由于您没有提供任何源代码,也没有解释这个ActiveX正在做什么,很遗憾,我无法进一步帮助您。我不能仅仅建议您:“为了避免这个错误,只需将

我看了所有的文章,但仍然不能排除错误。 当我启动桌面应用程序时,它抛出了下面提到的错误。
“visual basic开发环境不能提供单一用途类的多个实例。有关调试单一用途对象的限制,请参阅文档”

我相信您正在实例化ActiveX EXE/DLL,该ActiveX EXE/DLL已将属性“Instance”设置为“SingleUse”。您可以在此处找到此属性:

由于您没有提供任何源代码,也没有解释这个ActiveX正在做什么,很遗憾,我无法进一步帮助您。我不能仅仅建议您:“为了避免这个错误,只需将instanceproperty更改为MultiUse”,因为这可能会给您的应用程序带来严重的缺陷。您需要阅读有关该属性的文档

对于实现设置为“单次使用”实例的对象的非多线程EXE服务器,情况定义得很好,但在其他一些情况下,使用单次实例对象可能会导致意外结果,即使单次实例对象有其自身的实现原因

“当实现EXE服务器组件以提供多个 单次使用实例对象,您永远不会知道哪个服务器进程 将实际提供一个特定的对象。所以要小心, 特别是在这种情况下使用全局变量。”


(来源:Dan Appleman)

我相信您正在实例化一个ActiveX EXE/DLL,它已将属性“Instance”设置为“SingleUse”。您可以在此处找到此属性:

由于您没有提供任何源代码,也没有解释这个ActiveX正在做什么,很遗憾,我无法进一步帮助您。我不能仅仅建议您:“为了避免这个错误,只需将instanceproperty更改为MultiUse”,因为这可能会给您的应用程序带来严重的缺陷。您需要阅读有关该属性的文档

对于实现设置为“单次使用”实例的对象的非多线程EXE服务器,情况定义得很好,但在其他一些情况下,使用单次实例对象可能会导致意外结果,即使单次实例对象有其自身的实现原因

“当实现EXE服务器组件以提供多个 单次使用实例对象,您永远不会知道哪个服务器进程 将实际提供一个特定的对象。所以要小心, 特别是在这种情况下使用全局变量。”


(来源:Dan Appleman)

在AX EXE中创建单一用途类的多个实例需要多个进程——每个实例一个。这在IDE中是不可能发生的,IDE本身就是一个进程。这就是错误所指的。

在AX EXE中创建单一用途类的多个实例需要多个进程——每个实例一个。这在IDE中是不可能发生的,IDE本身就是一个进程。这就是错误所指的。

很好地解释了错误消息的实际含义。很好地解释了错误消息的实际含义。嗨,Deblocker,我无法更改应用程序中的任何代码。我试图通过vb6 IDI调试exe(这是一个一次性使用的com对象),我能够达到断点。后来,当我尝试启动桌面应用程序(调用此exe的应用程序)时,出现了上述错误。甚至我也注销了exe,从注册表中删除了所有条目,并重新安装了桌面应用程序。但我仍然能看到同样的错误。@adadotnet:是的,我知道,别担心,这是一个误解。请看我的编辑。应该是:“我不能仅仅建议您更改属性”实例“。我可以通过从注册表中删除单个实例类条目来解决此问题。由于我试图通过VB6 IDE调试这个exe,它又创建了一个此类的实例。从registryHi Deblocker中删除该条目后,它就开始工作了。我无法更改应用程序中的任何代码。我试图通过vb6 IDI调试exe(这是一个一次性使用的com对象),我能够达到断点。后来,当我尝试启动桌面应用程序(调用此exe的应用程序)时,出现了上述错误。甚至我也注销了exe,从注册表中删除了所有条目,并重新安装了桌面应用程序。但我仍然能看到同样的错误。@adadotnet:是的,我知道,别担心,这是一个误解。请看我的编辑。应该是:“我不能仅仅建议您更改属性“Instanceing”。我可以通过从注册表中删除单个实例类条目来解决此问题。由于我试图通过VB6 IDE调试此exe,它创建了该类的另一个实例。从注册表中删除该条目后,它就可以工作了