ArcEngine10.5用GP工具做更新功能报异常对COM组件的调用返回了错误HRESULT E_FAIL
用的arcgisengine10.5。
代码:
Geoprocessor GP = new Geoprocessor();
GP.OverwriteOutput = true;
Update update = new Update();
update.in_features = @"F:\test\inputFC.shp";
update.update_features = @"F:\test\updateFC.shp";
update.out_feature_class = @"F:\test\result.shp";
object sev = null;
try
{
// GP.ExecuteAsync(update);
GP.Execute(update, null);
}
catch (Exception ex)
{
//MessageBox.Show(ex.ToString());
MessageBox.Show(GP.GetMessages(ref sev));
}
错误:
我百度了下,大概是许可的问题,在官网看到更新功能需要最高级的许可:
然后就按照别人说的方法,在窗口初始化之前加代码:
#region 初始化许可
IAoInitialize m_AoInitialize = new AoInitializeClass();
esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;
licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);
if (licenseStatus == esriLicenseStatus.esriLicenseNotInitialized)
{
MessageBox.Show("没有esriLicenseProductCodeAdvanced许可!");
Application.Exit();
}
#endregion
InitializeComponent();
结果还是没啥用。
程序入口的代码如下:
axlicensecontrol的属性也设置了:
求帮助。。。。。
5 个回复
朱新颖
赞同来自:
cannel
赞同来自:
柚子 - ArcGIS/WebAPI
赞同来自:
m_AOLicenseInitializer.InitializeApplication(new esriLicenseProductCode[] {
esriLicenseProductCode.esriLicenseProductCodeAdvanced,
//esriLicenseProductCode.esriLicenseProductCodeEngine,
esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB
},
new esriLicenseExtensionCode[] { });
//ESRI License Initializer generated code.
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
还是报同样的错误,有些绝望了。。。怀疑engine10.5有问题,,
涤生
赞同来自:
沉思
赞同来自:
要回复问题请先登录或注册
发起人
ArcGIS/WebAPI
相关问题
问题状态
—— 扫技术支持中心微信服务号!
—— 让GIS知乎问答随时随地!