问题标签 [comexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10036 浏览

exception - WebBrowser.Navigate(...) 抛出 COMException

我正在开发一个 Internet Explorer 命令按钮,单击后将打开一个特定的网页。这是一段代码(IEApp是对 的实例的引用IE.WebBrowser):

上面的行抛出以下 COMException:

这在 IE6 或 IE7 上不是问题。关于出了什么问题的任何想法?我正在使用 AddInExpress 创建命令按钮。

干杯! 基督教

0 投票
1 回答
2126 浏览

c# - 当我调试在设计模式下打开的特定表单的项目时,Visual Studio 崩溃......“灾难性失败”

正如标题所说,每当我在某个窗体打开时调试项目时,VS2008 就会不断崩溃。我附加了另一个 VS2008 实例,发现以下异常是罪魁祸首:

我遇到的问题是我不知道为什么会发生这种情况。我们使用了一些 COM 组件(这是我正在更新的旧版软件),但它们在程序实际运行时或正常查看设计视图时不会导致任何异常。只有当我在表单打开时进行调试。在 VS 崩溃后调试时,程序本身运行良好,但 Visual Studio 本身已被冲洗。

我知道最简单的答案是“确保表单已关闭!” 但是加载需要很长时间,并且保持打开状态的工作流程要顺畅得多(另外,我并不总是记得关闭它!)

那么,有人遇到过这种情况吗?有谁知道为什么会发生这种情况?

0 投票
2 回答
1929 浏览

com - 从 F# 调用 Matlab 的 MLApp.MLAppClass.FEval

Matlab 提供了一个支持远程执行任意函数(和代码片段)的 COM 接口。特别是,它有一个调用给定 Matlab 函数的 Feval 方法。此方法的第三个参数 pvarArgOut 具有 COM 类型 VARIANT*,并在 Visual Studio F# 编辑器中显示为以下类型的参数:

下面的代码调用 interp1,它在 Matlab 中返回一个矩阵(即 2D 双精度数组)结果,这对于大多数 Matlab 函数来说是正常的。

这段代码编译得很好,但是在调用 interp1 时,我得到了一个 COM 异常:

无论是使用新的 obj、新的 Array2D 还是 null 初始化 yi,我都会遇到相同的错误。

F# 如何翻译 VARIANT 输出参数?

更新

这是更正后的版本:

0 投票
3 回答
851 浏览

nunit - 使用 WatiN 进行 NUnit 测试,从 Dev10 运行正常,但是当 NUnit 从“C:\Program Files (x86)\NUnit 2.5.5\bin\net-2.0\nunit.exe”启动时

我在 Nunit 测试中有以下代码...

在 Dev10(visual studio 10) 中右键单击项目并选择 [Test With][NUnit 2.5],此测试代码运行没有问题。我已经安装了 TestDriven。从C:\Program Files (x86)\NUnit 2.5.5\bin\net-2.0\nunit.exe"打开NUnit,然后打开我的test dll,在NUnit Errors and failures中报如下文字

顺便说一句...在Dev10中右键单击源cs文件并选择运行测试,...也可以。上面的测试实际上是 TechTalk.SpecFlow 1.3 步骤的一部分,我安装了 NUnit 2.5.5.10112,我安装了 Watin 20.20,我的测试 dll 有以下 App.config
开始尖括号已被删除......如何你让xml显示在

以前有人打过这个吗?NUnit 测试显然在 TestDriven 的 NUnit 2.5.5 中运行,但在从 Dev10 和 TestDriven 之外运行 NUnit 2.5.5 时却没有?

0 投票
1 回答
461 浏览

excel - Excel::Shape 对象在列表中计数达到 18 后自动释放

我有一个用 C# 2.0 编写的 Excel 插件,我在其中遇到了一个奇怪的行为。请注意,此行为仅出现在 Excel 2003 中,而不出现在 Excel 2007 或 2010 中。

问题:

当用户单击导入命令按钮时,将读取文件并使用 Worksheet::Shapes::AddPicture() 方法创建/添加许多形状到工作表。对这些 Shape 对象的引用保存在通用列表中:

一切正常,直到列表中的引用少于 18 个。当计数达到 18 并添加新的 Shape 引用时,第一个即 @index [0] 被释放。我无法在该引用上调用任何方法或属性,并且调用方法/属性会引发 COMException (0x800A1A8),即需要对象。如果我再添加一个,那么引用@[1] 就无法访问,依此类推。

够奇怪的......这仅发生在Shape 对象上,即如果我添加一个Shape,然后将17 个空值添加到列表中,那么在添加另外17 个Shape 对象之前不会发生这种情况。

有谁知道为什么会在计数达到 18 后发生?

我认为这可能与列表的默认容量有关。像重新定位它们被释放的引用,所以我用 1000 的容量初始化它,但仍然没有运气。

任何想法??


更新

发现尝试通过字符串索引访问Shape对象时产生的异常起到了一定的作用。添加新 Shape 时,我通过调用 Worksheet::Shapes::Item(shapename) 检查现有的 Shape 对象。如果找不到 Shape,则会引发异常。如果我删除这行代码......它工作正常。

是否有另一种方法可以检查 Shape 是否存在而不生成此异常或遍历整个集合?

0 投票
1 回答
3147 浏览

.net - .NET 中 COMException HRESULT 错误代码的符号名称

我希望能够在我的 .NET 代码中使用由 COM 组件返回的 HRESULT 的标准符号名称。例如,我希望能够编写如下代码:

但是,我在 .NET 框架中找不到定义 E_FAIL、E_OUTOFMEMORY、E_UNEXPECTED 等符号的任何地方。对于本机 Win32 应用程序,可以从 <winerror.h> 获取定义(参见http://msdn.microsoft.com/en-us/library/aa378137(VS.85).aspx)。

我当然可以自己定义它们,只要我需要它们,就像这样:

但如果有的话,我更愿意从标准位置获取定义。我想我曾经在某个地方找到了它们,但我的 MSDN 搜索现在没有找到它们。

.NET 库中的某处是否有一组这样的定义?

0 投票
4 回答
15672 浏览

c# - COMException (0x80040154): 使用 AxAcroPDFLib 时未注册类

使用 AxAcroPDF 时出现以下错误

System.Runtime.InteropServices.COMException (0x80040154):类未注册(来自 HRESULT 的异常:0x80040154 (REGDB_E_CLASSNOTREG))

引发错误的行是

如果有人知道解决方案,请帮助

0 投票
1 回答
11385 浏览

php - 在 Office 2010 (Excel.Application) 中使用 PHP 的 COM 对象

我最近在 PHP 中编写了一个脚本,使用 COM 对象将 Excel 2007 电子表格中的单元格中的数据剥离到一个数组中。这一切都是在带有 Office 2007 的 XP 系统上本地完成的。一旦我启用了 Apache 服务器与桌面交互,脚本就像一个绝对的梦想一样工作,允许我通过 PHP 用数组值填充我的 HTML。

现在我们刚刚升级到 Win 7 x64 和 Office 2010 32 位 - 相同的脚本现在向我抛出了 COM_exception:

'Microsoft Excel 无法访问' xml/xmlx 文件(它以前对两者都有效)。“有几个可能的原因:

  • 文件名或路径不存在。
  • 该文件正被另一个程序使用。
  • 您尝试保存的工作簿与当前打开的工作簿具有相同的名称”......显然。

我已经禁用 UAC 认为这是罪魁祸首,当然允许 Apache 与桌面交互,但 Excel 进程甚至没有尝试启动。我猜 Windows 7 根本不允许脚本与 Excel 交互。使用类(例如 PHPExcel)还有其他可用的脚本,但是我宁愿避免编写收件人代码,而且我什至不知道这些类是否适用于 Excel 2010。

我怎样才能克服这个com_exception

代码:

0 投票
4 回答
86453 浏览

c# - C# Active Directory:获取用户的域名?

我知道以前有人问过这类问题,但其他方法现在让我失望了。

就目前而言,我们的 Windows 服务轮询 AD,给定一个 LDAP(即 LDAP://10.32.16.80)和该 AD 服务器中要搜索的用户组列表。它检索那些给定组中的所有用户,并递归地搜索这些组以查找更多组。然后将每个用户添加到另一个应用程序的已验证用户列表中。

这部分应用程序运行成功。但是,我们需要每个用户的友好域名(即他们登录 DOMAIN/用户名的一部分)

因此,如果有一个用户属于 TEST 域,名为 Steve:TEST/steve 是他的登录名。我可以在 AD 中找到 steve,但是我还需要将“TEST”与他的 AD 信息一起存储。

同样,我可以通过使用目录搜索器和给定的 LDAP IP 找到“史蒂夫”,但是给定 LDAP IP,我怎样才能找到友好的域名?

当我尝试以下代码时,尝试访问“defaultNamingContext”时出现错误:

System.Runtime.InteropServices.COMException (0x8007202A):身份验证机制未知。

这是代码:

编辑

我添加了此示例方法以尝试提出建议,但在搜索器上点击“FindAll()”调用时出现异常:“未指定错误”。传入的字符串是:“CN=TEST USER,CN=Users,DC=tempe,DC=ktregression,DC=com”

0 投票
2 回答
29820 浏览

c# - 获取联系人时的 System.Runtime.InteropServices.COMException (0x800706BE)。LastName

我们的一些用户有时会遇到此异常(并非针对每个联系人):

当我们试图获取联系人的姓氏(ContactItem类型)时,就会发生这种情况。

有谁知道问题是什么?

任何帮助,将不胜感激。谢谢!