您的位置:首页 > 大数据 > 人工智能

解决AE中GP工具错误 对 COM 组件的调用返回了错误 HRESULT E_FAIL

2014-05-18 12:13 525 查看
开发环境 vs2010(C#)+arcengine 10

在使用GP工具调用arctoolbox完成格式转换时,总是报错  
对 COM 组件的调用返回了错误 HRESULT E_FAIL,然后晚上找了一些解决办法:

1. 配置MSDTC

参见  http://blog.sina.com.cn/s/blog_58b4162f01018uex.html  
但还是没解决我的问题。我的MSDTC中没有  安全配置 这一项,然后找了怎么显示安全配置的方法(注:local DTC properties(本地DTC属性)在我的电脑的子项里)



可是我的电脑却没有 安全 选项卡

2. 许可证问题

参见 http://blog.csdn.net/u011116642/article/details/17073471
大致办法是在program.cs中加入

            ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);

            #region 初始化许可

              IAoInitialize m_AoInitialize = new AoInitializeClass();

            esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;

            licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcInfo);

            if (licenseStatus == esriLicenseStatus.esriLicenseNotInitialized)

            {

                MessageBox.Show("没有esriLicenseProductCodeArcInfo许可!");

                Application.Exit();

            }

            #endregion

上面代码放在加载form前。

上面的方法都没有解决问题,为了找到具体问题  加入了问题反馈

加入代码:

object sev = null;

            try

            {

                // Execute the tool.

                gp.Execute(ToCAD, null);

                Console.WriteLine(gp.GetMessages(ref sev));

            }

            catch (Exception ex)

            {

                // Print geoprocessing execution error messages.

                MessageBox.Show(gp.GetMessages(ref sev));

            }

最后显示的是读取数据的时候失败,换了一个文件后运行成功(其实在arcmap里面是可以运行的,不知为啥这里不行)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  arcgis 错误
相关文章推荐