在ArcObjects中,CoClass是可以直接实例化的类,在VC中我们可以通过以下多种方法进行实例化:
过程描述
1.在变量声明的同时直接使用CLSID进行构造
示例:
IPropertySetPtr ipPropertySet(CLSID_PropertySet);
ipPropertySet->SetProperty(CComBSTR(L"DATABASE"),CComVariant(path));
2.CoCreateInstance方法(ATL CComPtr 模板类成员 atlbase.h)
示例:
CComPtr<IWorkspaceFactory> ipWorkspaceFactory;
ipWorkspaceFactory.CoCreateInstance(CLSID_ShapefileWorkspaceFactory);
3.CreateInstance方法(COM interface pointer 模板类_com_ptr_t成员 comip.h)
示例:
IFeatureLayerPtr ipFeatureLayer;
HRESULT hr = ipFeatureLayer.CreateInstance(CLSID_FeatureLayer);
用下来感觉后两种方法比较灵活,可以在创建时再决定对象的具体类。我们可以将变量声明为抽象类或者接口,在实例化时再根据需要创建为特定的具体类。
分享到:
相关推荐
ArcEngine二次开发实例笔记,是作者自己在研究生三年的ArcEngine92开发的实践过程中一点一滴积累起来的财富,相信笔记中记录的66个实例也是你ArcEngine二次开发中遇到的难题,因为现在已经很少接触GIS二次开发,所以...
基于C#的ArcEngine二次开发,内容简明扼要,适合初学者快速入门。
arcengine的完整开发实例,包含了GIS的常用功能
ARCENGINE几何对象和空间坐标系
arcengine中文开发文档
花了好多功夫整理的VC++ArcEngine源代码
3. ArcEngine中对Feature的编辑 5 4. Feature的概念 6 5. 如何实现经度纬度到平面坐标的相互转换?(转载) 7 6. ArcEngine 最短路径分析(源码) 9 7. ArcEngine中使用上下左右键移动地图功能的实现 15 8. 缓冲区的...
ArcEngine10官方开发手册,中文版,快速了解AE产品体系,快速开发入门。
含map的显示及操作、Raster操作、符号库设计、三维显示、操作及三维分析
\ArcEngine开发——在64位操作系统下使用VS2010中开发ArcEngine应用程序的编译问题.
ArcEngine对象模型
程序是基于ArcEngine9.3开发的,开发平台为Visual Studio 2008,开发语言为c#,数据为china文件夹下的数据,使用的符号为ArcGIS自带的符号库ESRI.ServerStyle中的符号。 所以安装了ArcEngine9.3和vs2008的可以直接...
ArcEngine 控件应用实例,加载地图,添加图层,修改图层,查询数据
介绍如何在ArcEngine中建立地图图层
用vc开发ArcEngine建立框架程序 GIS二次开发
vs2010c#开发arcengine实现按属性查询和按位置(空间)查询(类似于arcmap的按位置选择和按属性选择)
ArcEngine10.1+Vs2010 镶嵌数据集操作源码 包括创建镶嵌数据集、添加栅格数据到镶嵌数据集、从镶嵌数据集中移除栅格数据、删除栅格数据等
武汉大学出版社,韩鹏主编的的地理信息系统开发-----ARCENGINE方法,课件。共有300多页。基于VB语言进行的开发
ArcEngine 开发宝典
vs2010开发arcengine,值得一看