- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个引用 VB6 遗留 DLL 的 .NET 应用程序。遗留 DLL 有一个带有公共(public)方法的类。在此公共(public)方法中,它试图通过名称查找现有表单,如果不存在则创建它:
Set objForm = GetForm(strFormName)
If objForm Is Nothing Then
'Creates a new instance of the form
Set objForm = VB.Forms.Add(strFormName)
End If
... GetForm
是:
Private Function GetForm(ByVal strFormName As String) As Form
Dim objForm As Form
For Each objForm In VB.Forms
If objForm.Name = strFormName Then
Set GetForm = objForm
Exit Function
End If
Next
Set GetForm = Nothing
End Function
它在这一行引发错误:
Set objForm = VB.Forms.Add(strFormName)
错误是:
Automation error
The object invoked has disconnected from its clients.
Error#-2147417848(80010108)
请注意,strFormName
是一个有效的表单名称,并且此公共(public)方法调用几乎一直有效。它只是偶尔会引发此错误。
我想知道是什么导致了这个错误,或者我还能做些什么来进一步追踪它?
最佳答案
KB article @Dabblernl 链接与这个问题非常相关。 VB.Forms 集合正是这样一个不合格的引用。它就像一个全局变量,您可以在 VB6 代码中的任何地方使用 VB.Forms,而无需提供对象引用。
在幕后,VB6 运行时会在您第一次创建表单时创建 Forms 集合并存储此集合对象,以便将来对 VB.Forms 的引用使用完全相同的集合。错误代码的意思是您在它被销毁后使用了该集合。
具体何时发生还不是很清楚,这是 VB6 运行时支持库的所有内部管道。但通常情况下,VB6 应用程序会在最后一个窗体被卸载时终止。您的情况有所不同,您的进程的生命周期不再由 VB6 运行时控制。 .NET 现在控制它。
因此,据此推断,VB6 运行时很有可能已决定不再需要 Forms 集合并将其销毁,并且您的 .NET 代码稍后可能会创建一个新的 Form,从而触发错误。
如果这完全准确,那么您需要采取对策来防止这种情况发生。一种可能的方法是确保始终至少有一个 VB6 表单来保持集合有效。它不一定是可见的。
关于com - VB.Forms 处出现错误 -2147417848。通过 COM 添加调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14836304/
这个问题已经有答案了: What is the difference between a variable, object, and reference? [duplicate] (5 个回答) 已关
我正在使用以下代码来学习java套接字编程。它的作用是,client.java 程序从用户那里获取一个号码并将其发送到 sever.java。然后服务器将其乘以2并发回给客户端。在我的客户端程序中,它
我编写了一个自己开发的串行端口类,为了简单起见,我使用了阻塞/同步/非重叠。我浏览了所有 MSDN 文档,这对我来说很困难。 我在从端口打开、传输或接收字节方面没有任何问题。所有操作都是同步并且没有线
//Not finished -- disregard function evaluate() { var cdate = new Date(); var cday = cdate.getDa
我已经尝试过了,但它有效 例如: x= 523.897 y= x[0:"."] print y 我只想打印 523。如何让 Python 抓取字符串直到某个字母或数字? 最佳答案 行 y = x[0:
我想移动拐 Angular 处的方框(从左上角开始水平移动 Angular 落到右上角然后你去到右下角。 function myMove() { var elem = document.getEl
如何让侧边栏停止在第二个侧边栏部分而不是顶部? fiddle http://jsfiddle.net/EvAdP/2/ HTML I'm the header
我刚刚在大学开始我的第二门编程类(class),我们的第一个作业相当简单,旨在基本上检查我们的环境并检查我们是否知道如何通过类(class)网站提交作业。 当我运行我们提供的代码时,它卡在应该提示用户
我目前正忙于我的这个信息学元素(构建一个示例交友网站)。问题是我在把所有东西都放在正确的地方时遇到了一些麻烦。一切都很顺利,直到我的邮箱出现在错误的位置(但是,Dreamweaver 会按照我的意
我想,和你一样hover a GIF shot on Dribbble , 当光标位于元素高度顶部之后/50% 处时显示带有信息的 div。 测试示例 我做了这个,这是有效的,但有点棘手......特
我有一个下拉菜单,并且我已将 mouseenter 设置为选项。因此,如果鼠标位于触发器之外,菜单应该关闭。我正在使用 jQuery 1.8.0。这可能是 CSS 问题吗? 这是我初始化插件的代码。
我正在尝试在 Visual Basic for Applications 中编写一个 hello world 应用程序,即修改 Excel 工作表中的单元格。这是: Sub hello() D
我的应用程序使用 JSF 2.1 和 PrimeFaces。最近,由于一些线程卡住,观察到 CPU 利用率非常高。所有卡住线程的卡住线程转储都指向 javax.faces.component.UICo
在列出 aws cognito 用户时,我的 Node js 应用程序遇到问题。 仅当我有超过 60 个 Cognito 用户时才会出现此问题。 Reference of API 下面是我的代码片段。
我是 ubuntu 用户..我在 php 中有一个执行 python 文件的命令..python 文件设置为可执行文件..所以,我的 php 命令是:- shell_exec("try.py");
我正在尝试将剪贴板内容写入文件,但由于某种原因程序卡住了。 FILE *fp; fp = fopen("tmp.code","w"); fprintf(fp,getclip()); /*writes*
当用户向下滚动时,我使用此代码使侧边栏固定在某个 div 处。问题是我必须手动输入一个阈值数字,这并不总是理想的,因为该部分的位置可能会更改或在各种浏览器和系统之间不一致。我想知道是否有一种方法可以在
我有一个字符串数组,例如 first_page = {{"U","M","Y","Q","I","A","L","D","P"、"F"、"E"、"G"、"T"、"Z"、"V"、"W"、"H"、"O"、
我能否在页面上的特定 px 位置放置一个元素(例如图像),然后让文本围绕它流动? 必要时使用 JS/jquery。 我确实看到了这个Have text flow around an object th
第一次在这里提问。 我有两个简单的 Javascript 函数,1. 生成一个随机字母,2. 在每个单元格中使用单个字母填充 10x10 表格。创建表的主要函数是通过带有 onclick 的简单 HT
我是一名优秀的程序员,十分优秀!