问题标签 [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.
exception - WebBrowser.Navigate(...) 抛出 COMException
我正在开发一个 Internet Explorer 命令按钮,单击后将打开一个特定的网页。这是一段代码(IEApp
是对 的实例的引用IE.WebBrowser
):
上面的行抛出以下 COMException:
这在 IE6 或 IE7 上不是问题。关于出了什么问题的任何想法?我正在使用 AddInExpress 创建命令按钮。
干杯! 基督教
c# - 当我调试在设计模式下打开的特定表单的项目时,Visual Studio 崩溃......“灾难性失败”
正如标题所说,每当我在某个窗体打开时调试项目时,VS2008 就会不断崩溃。我附加了另一个 VS2008 实例,发现以下异常是罪魁祸首:
我遇到的问题是我不知道为什么会发生这种情况。我们使用了一些 COM 组件(这是我正在更新的旧版软件),但它们在程序实际运行时或正常查看设计视图时不会导致任何异常。只有当我在表单打开时进行调试。在 VS 崩溃后调试时,程序本身运行良好,但 Visual Studio 本身已被冲洗。
我知道最简单的答案是“确保表单已关闭!” 但是加载需要很长时间,并且保持打开状态的工作流程要顺畅得多(另外,我并不总是记得关闭它!)
那么,有人遇到过这种情况吗?有谁知道为什么会发生这种情况?
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 输出参数?
更新
这是更正后的版本:
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 时却没有?
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 是否存在而不生成此异常或遍历整个集合?
.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 库中的某处是否有一组这样的定义?
c# - COMException (0x80040154): 使用 AxAcroPDFLib 时未注册类
使用 AxAcroPDF 时出现以下错误
System.Runtime.InteropServices.COMException (0x80040154):类未注册(来自 HRESULT 的异常:0x80040154 (REGDB_E_CLASSNOTREG))
引发错误的行是
如果有人知道解决方案,请帮助
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?
代码:
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”
c# - 获取联系人时的 System.Runtime.InteropServices.COMException (0x800706BE)。LastName
我们的一些用户有时会遇到此异常(并非针对每个联系人):
当我们试图获取联系人的姓氏(ContactItem
类型)时,就会发生这种情况。
有谁知道问题是什么?
任何帮助,将不胜感激。谢谢!