注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

快乐小屋

 
 
 

日志

 
 

HRESULT:0x80040228 异常解决  

2013-08-30 13:08:12|  分类: ArcGIS Engine开 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

有同学向我问了这样一个问题,如截图:

HRESULT:0x80040228 异常解决 - 快乐小屋 - 快乐小屋

开始的时候一看代码,不就是打开一个shapeFile吗,没多考虑,就翻出自己以前写过的打开shapeFile程序,一看傻眼了,明明一样的代码啊,为啥会在他电脑上出现这样的问题呢?

再次查了查问他,原来他是写的控制台应用程序,用不上ESRI的AxLicence控件,没有许可啊!!

那解决方法很简单,就用代码写个Licence控件不就得了,就像是BS中写控件那样。

ESRI.ArcGIS.Controls.AxLicenseControl axLicenseControl1 = new ESRI.ArcGIS.Controls.AxLicenseControl()

axLicenseControl1.Enabled = true;           

axLicenseControl1.Location = new System.Drawing.Point(561, 225);           

axLicenseControl1.Name = "axLicenseControl1";           

axLicenseControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axLicenseControl1.OcxState")));            axLicenseControl1.Size = new System.Drawing.Size(32, 32);           

axLicenseControl1.TabIndex = 1;

另外,更简单的方法,控制台程序添加License许可:

HRESULT:0x80040228 异常解决 - 快乐小屋 - 快乐小屋



HRESULT:0x80040228 异常解决有群友又问到这个问题.
如下:
广州-苍鹰(448362145) 16:48:41
我以上的方式连接总时出现异常

我安装的是ArcGis9.2,
我使用你们说的方式去连接,可是老出现错误提示。错误提示“异常来自 HRESULT:0x80040228 ”
我的代码如下:
public IWorkspace open_ArcSDE_Workspace(string server, string instance, string user, string password, string database, string version)
    {
        try
        {
            ESRI.ArcGIS.esriSystem.IPropertySet propertySet = new ESRI.ArcGIS.esriSystem.PropertySetClass();
            propertySet.SetProperty("SERVER", server);
            propertySet.SetProperty("INSTANCE", instance);
            propertySet.SetProperty("DATABASE", database);
            propertySet.SetProperty("USER", user);
            propertySet.SetProperty("PASSWORD", password);
            propertySet.SetProperty("VERSION", version);
            IWorkspaceFactory workspaceFactory = new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass();
            return workspaceFactory.Open(propertySet, 0);
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
            return null;
        }
    }
我在按钮单击事件中调用以上函数:
open_ArcSDE_Workspace("nazirhasan", "esri_sde", "sde", "hasan", "", "SDE.DEFAULT");
主机名:nazirhasan
sde用户为sde
sde密码为hasan 

事实上只要加一个license控件就行了.

希望大家以后在简单程序的时候也不要忘记加license控件.否则找半天也找不到问题

  评论这张
 
阅读(407)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018