ArcGIS “Error HRESULT E_FAIL has been returned from a call to a COM component.” 异常的解决

错误提示内容:

{System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
   at ESRI.ArcGIS.Display.AlgorithmicColorRampClass.CreateRamp(Boolean& ok) ...

写了一个简单的函数:

public IColorRamp CreateColorRamp(IColor fromColor, IColor toColor, int count)
{
  IAlgorithmicColorRamp pRampColor;
  bool ok = true;

  pRampColor = new AlgorithmicColorRampClass();
  pRampColor.FromColor = fromColor;
  pRampColor.ToColor = toColor;
    // ... missing size sentence
  pRampColor.CreateRamp(out ok);

  return pRampColor as IColorRamp;
}

后来仔细检查代码,发现在以上黄色语句处少了pRampColor.Size = count;这句话,导致创建彩色条带的失败。但是仅仅给出“Error HRESULT E_FAIL has been returned from a call to a COM component.”这样的错误,我对ArcGIS的异常提示也是醉了,鬼知道这是什么错误。所以说在不考虑ArcGIS那几处优秀的设计地方外,可以说ArcGIS这个系统软件做的十分烂。

备注一下,省的以后再被ArcGIS这样的错误弄的一头雾水。

时间: 2024-10-12 02:58:50

ArcGIS “Error HRESULT E_FAIL has been returned from a call to a COM component.” 异常的解决的相关文章

【ArcGIS二次开发】CreateFeature报错(HRESULT E_FAIL)

在VS2010下基于ArcGIS 10.1做二次开发时遇到个奇怪的问题,对于MXD工程文档中已经存在的图层,获取其FeatureClass可以调用CreateFeature()函数生成要素,但是对于通过程序代码(AddShapFile())添加到MXD工程中的图层,获取其FeatureClass后再执行CreateFeature()就会报COM错误(Error HRESULT E_FAIL has been returned from a call to a COM component,代码0x

AE开发中,对 COM 组件的调用返回了错误 HRESULT E_FAIL,在地理处理中,即GP工具处理时出错

ArcgisEngine二次开发中,进行地理处理,即:相交操作,交集取反操作,擦除操作等过程中,如果权限分配不当,就会出现上面对 COM 组件的调用返回了错误 HRESULT E_FAIL 的错误 原因如下:在进行擦除,交集取反等高级操作时,必须是ArcgisInfo级别的许可授权,否则无法进行操作,而相交操作用ArcgisEngine级别即可.(不稳定,会出错,建议2) 解决如下:1.如何使用licenceControl控件选择ArcgisInfo选项即可,同时选中其中的Spatial Ana

升级 MySQL 至 5.5,报错 [ERROR] Plugin 'InnoDB' init function returned error

MySQL 从 5.5 升级到 5.6,启动时报错: [ERROR] Plugin 'InnoDB' init function returned error. [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. [ERROR] Unknown/unsupported storage engine: InnoDB [ERROR] Aborting 原因:主要是没有正常关闭 mysqld 服务的情况下,对数据库参数进行改

[ERROR] Plugin 'InnoDB' init function returned error

今天一大早到公司,计划把开发环境的mysql升级到5.7.15,干净关闭系统后,把目录从5.6指向到5.7,一切正常,重新指向5.6启动时,报下列错误: 2016-10-31 08:13:14 86998 [ERROR] Plugin 'InnoDB' init function returned error.2016-10-31 08:13:14 86998 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.2016

对COM 组件的调用返回了错误 HRESULT E_FAIL

.net ppt转pdf时报以下错误: 对COM 组件的调用返回了错误 HRESULT E_FAIL 在服务器端打开PPT,选项--另存为--PDF,发现PowerPoint报了个错误: “无法找到打印机 Microsoft XPS Document Writer”. 再打开Word,另存为PDF,没有此类错误. 解决方案: 马上打开Print Spooler服务...

.net安装部署“Error 1001 在初始化安装时发生异常” 的解决方法

状况描述:打包安装后,如果删除安装目录中的某个文件,这时从桌面快捷方式启动软件系统会自动运行修复程序,此时因为路径问题会报出"错误 1001 在初始化安装时发生异常xxx"的异常.(前提是你的安装部署中加入了"自定义操作",并为其传值). 查找原因原来是"自定义操作"中CustomActionData值有误造成.未出错前的CustomActionData. /DbName=[DBNAME] /ServerName=[SERVERNAME] /Us

Android 运行时报错Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled. 的解决办法

解决方法:在菜单栏,Tools->Android->Enable ADB integration勾选就可以了. Android 运行时报错Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled. 的解决办法

Error (10028): Can't resolve multiple constant drivers for net "out2" at shiyan.v(14)解决办法

//Error(10028):Can't resolve multiple constant drivers for net “ ” at **.v //两个进程里都有同一个条件判断的话,会产生并行信号冲突的问题. //同一个信号不允许在多个进程中赋值,否则则为多驱动. //进程的并行性决定了多进程不同能对同一个对象进行赋值. 1 module test(c1,c2,out1,out2); 2 3 input c1,c2; 4 output out1,out2; 5 6 reg out1,out

Java AOP nested exception is java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice || Error creating bean with name 'org.springframework.aop.aspectj.AspectJPointcutAdvisor#0' 两个异常解决办法

贴出applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://ww