&引用;方法'~';对象的'~';“失败”;关于启动vb6ide

&引用;方法'~';对象的'~';“失败”;关于启动vb6ide,vb6,Vb6,我注意到,大约每三次启动VB6 IDE时,就会出现一个消息框,其中显示以下错误消息:- Method '~' of object '~' failed 这不会发生在任何特定的项目中,也不会发生在我注意到的任何其他共同点上。在拒绝该消息后,它似乎不会导致任何问题。我的问题是:我应该担心这个问题,如果是,我应该怎么做 我注意到了关于同一错误消息的这些其他问题,但是我在打开项目时收到了消息。我曾经偶尔遇到过这个错误,在我的情况下,它是由Visual Source Safe加载项引起的(我猜是错误安

我注意到,大约每三次启动VB6 IDE时,就会出现一个消息框,其中显示以下错误消息:-

Method '~' of object '~' failed

这不会发生在任何特定的项目中,也不会发生在我注意到的任何其他共同点上。在拒绝该消息后,它似乎不会导致任何问题。我的问题是:我应该担心这个问题,如果是,我应该怎么做


我注意到了关于同一错误消息的这些其他问题,但是我在打开项目时收到了消息。

我曾经偶尔遇到过这个错误,在我的情况下,它是由Visual Source Safe加载项引起的(我猜是错误安装;重新安装纠正了问题)。它从来没有造成问题;这只是个麻烦。正如Jon在评论中所说,我会尝试关闭外接程序,看看这是否解决了问题。另一件事是确保您正在运行Service Pack 6。

这通常是由于本地计算机上的剪贴板被锁定造成的。VB6 IDE加载项使用剪贴板将图标复制/粘贴到工具栏按钮,因为加载项API不公开任何其他方式将图像放置在工具栏按钮上


通常,远程桌面客户端(mstsc.exe)是锁定剪贴板的罪魁祸首。Microsoft实现传输到远程剪贴板的方式是通过探测本地剪贴板以查找可用格式,从而将其锁定一段时间。剪贴板是一种设计非常完善的全局资源,一次只能由一个进程访问,如果资源当前不可用,
OpenClipboard
API将无法用于其他进程。

我卸载了Visual Studio 6.0,然后重新安装了它。这为我清除了对象“~”的“方法“~”失败”错误。我的VB6现在似乎运行正常。我相信,在我的例子中,这与几个COM对象没有正确注册有关。我的新机器收到了一个来自旧盒子的重影图像,盒子上有VS。

我在两台开发机器上(一台32位,另一台64位)突然出现了这个错误。在我寻找解决方案的过程中,有人间接提到了SourceSafe

啊,然后我想到我最近在清理一个项目(清理.bak文件等),我清理的其中一个文件是“msscprj.SCC”(看到SourceSafe对我们小组来说是多么遥远的遗迹,我觉得从项目文件夹中删除这个文件“安全”)


长话短说:将文件“msscprj.SCC”还原到项目文件夹,解决了此错误。

我在Windows Server 2012 R2上运行VB6时遇到此错误。有问题的外接程序是Visual Component Manager 6.0。一旦我禁用了它,IDE就能够在对象~'的
方法~'失败的情况下打开
问题。我不确定这是指安装问题,还是指“现代”操作系统上的“古老”软件

对于其他试图在Windows 7、8、10、2012等系统上安装VB6的用户,以下是一些有用的链接:


我不知道这个特定的错误,但我有一些关于这个错误消息的背景信息

COM定义了两个级别的错误信息。所有COM方法和属性都有一个类型为HRESULT的返回值,其中0(S_OK)表示成功,负值表示错误。此外,还有一种机制可以提供所谓的“丰富的错误信息”

如果COM对象生成丰富的错误信息,VB6将显示提供的信息。如果COM对象返回负值,但未提供丰富的错误信息,则VB6将显示消息“对象~'的方法~'失败”

< >有一些标准错误代码,如EyPosil和EyNoTimPL,它们通常由COM对象在C++中返回。所有这些都会导致消息“对象“~”的方法“~”失败”


如果您在C++中实现COM对象,我的建议是始终生成丰富的错误信息。(在ATL中,您只需调用错误函数即可。)

我在Windows 7 Ultimate桌面PC上通过VB6项目的快捷方式启动VB6时也有过同样的经历(当然,该项目会启动VB6。)通知框标题为“Visual Component Manager”,消息为“object”~“failed”的“Method”~”。它发生在第一次启动VB6 IDE时,项目在IDE中可见之前。我已经在同一个项目中使用这个过程好几年了,没有任何问题,但是今天,这个消息框出现了,必须得到承认。今天我做了一件不同的事情,我相信这导致了我的问题,那就是先启动Excel2007工作簿,然后大约三秒钟后启动VB6项目。他们两人同时在装货,他们可能在为他们都需要的东西而互相争斗。单独启动VB6项目不会导致这种情况。查看所有这些响应,一个常见的线索似乎是VB6无法在需要时访问某些资源。没有一个回答表明这是一个严重的问题;事实上,在释放资源之前,这似乎只是一个小小的“小问题”

我找到了终极解决方案

要避免对象“~”的“方法“~”消息,并避免在VB6 IDE启动时运行任何“Windows Installer”消息,请执行以下操作:

  • 通过VB6.exe属性(在Windows资源管理器中右键单击文件后),确保VB6.exe的兼容性设置为“在Windows 8中运行”模式
  • 确保VB6.exe快捷方式设置为不以管理员身份运行
  • 通过这些设置,可以加载任何加载项(包括Visual Component Manager 6!)


    我花了很长时间才解决这个问题,但现在VB6以闪电般的速度加载,并且没有恼人的错误消息。

    您启用了任何加载项吗?-可能值得尝试禁用任何不寻常的设备,以防出现问题。@JonEgerton,是的,我有。感谢