新建对象的问题

在一段空间查询的代码编写过程中,在定义ISpatialFilter时,使用new来构建一个对象,始终报错(服务器出现意外,HRESULT异常之类)

ESRI.ArcGIS.Geodatabase.ISpatialFilter pSFilter = new ESRI.ArcGIS.Geodatabase.SpatialFilter();

后面使用了IServerContext.CreateObject()方法新建一个对象才解决了这个问题。如下:(红括号内是定义IServerContext对象sc的代码)

             ESRI.ArcGIS.ADF.Web.UI.WebControls.Map mapctrl = (ESRI.ArcGIS.ADF.Web.UI.WebControls.Map) args.Control;
       
        // Get MapFunctionality from the control...
        MapFunctionality mapfunc = (MapFunctionality) mapctrl.GetFunctionality(mapctrl.MapResourceManagerInstance.ResourceItems.Count - 1);
        MapResourceLocal mapres = (MapResourceLocal) mapfunc.MapResource;
        IServerContext sc = mapres.ServerContextInfo.ServerContext;

 

ESRI.ArcGIS.Geodatabase.ISpatialFilter pSFilter = (ESRI.ArcGIS.Geodatabase.ISpatialFilter)sc.CreateObject("esriGeodatabase.SpatialFilter");

例外还要注意CreateObject()方法中对象ID写法,格式不对,也会报错的。

posted @ 2008-11-18 20:33  周文  阅读(269)  评论(0编辑  收藏  举报