`
zhangziyangup
  • 浏览: 1186622 次
文章分类
社区版块
存档分类
最新评论

vc++开发ArcEngine中对象实例化的方法

 
阅读更多

在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);

用下来感觉后两种方法比较灵活,可以在创建时再决定对象的具体类。我们可以将变量声明为抽象类或者接口,在实例化时再根据需要创建为特定的具体类。

分享到:
评论

相关推荐

    用vc开发ArcEngine建立框架程序

    在使用VC++开发ArcEngine应用程序时,首先需要对两者的基础知识有一定的了解。 1. **ArcEngine概述**: ArcEngine是一个COM(Component Object Model)组件,包含了用于构建GIS应用程序的各种接口和类。它支持多种...

    ESRI公司ArcEngine培训

    ArcEngine是ESRI公司推出的一款强大的地理信息系统(GIS)开发平台,用于构建桌面、Web和移动应用。它为开发者提供了丰富的API和工具,使得开发者可以利用其强大的地理处理功能和空间数据管理能力,进行定制化的GIS...

    AE开发例子程序.zip_AE开发_AE开发例子_ArcEngine二次开发_ArcEngine例子_ae

    - 初始化ArcEngine:通过CoCreateInstance方法创建IGlobeEngine或IMapEngine实例,初始化GIS引擎。 - 加载数据:使用IMapControl或IGlobeControl加载地图文档或服务,或通过ILayer接口添加数据源。 - 功能实现:...

    Arc Engine开发入门教程

    **Arc Engine开发入门教程** Arc Engine是Esri公司推出的一款强大的地理信息系统(GIS)开发工具,主要用于构建桌面、Web和移动平台的GIS应用程序。本教程将深入探讨Arc Engine的使用和二次开发,帮助初学者快速...

    Arcengine中文讲义

    ArcEngine是Esri公司开发的一个强大的GIS开发平台,它允许开发者构建定制化的GIS应用程序,实现地图的创建、编辑、分析以及空间数据的管理。 本讲义首先会介绍ArcEngine的基本概念,包括GIS的核心概念、ArcGIS产品...

    arcEngine_add_object.rar_ArcEngine 点_ArcEngine插件_arcengine

    ArcEngine的核心是其丰富的API,允许开发者利用各种编程语言(如C#、VB.NET、VC++等)进行定制化开发。本文将详细介绍如何通过ArcEngine插件来添加点、线、面对像,以及这些基本要素在GIS中的应用和重要性。 首先,...

    arcgis二次开发\ARCGIS培训之ArcENGINE资料.rar

    开发ArcENGINE应用,首先需要安装ArcGIS Desktop和ArcGIS Engine Developer Kit。Developer Kit包含了开发所需的头文件、库文件和示例代码。然后选择合适的编程语言,如.NET Framework下的C#或VB.NET,创建项目并...

    基于 AreGISEngine的 GIS开发技术探讨.pdf

    本文尝试利用ArcEngine与VC++6.0进行二次开发,实现对空间数据库中地理数据的访问、地形的二维渲染及分析功能。具体而言,通过调用ArcGISEngine提供的API,开发者可以实现数据读取、地图制作、三维分析、地理编码...

    基于AE组件的二次开发基础知识

    对象由类实例化产生,常见的AE类包括Point、Line、Polygon、Layer、Table等。 **COM详解** COM是Component Object Model的缩写,定义了组件间交互的标准,并提供组件运行所需的环境。它通常以win32 DLL或EXE形式...

    AO开发的课程设计可以参考下

    在IT行业中,AO(ArcObjects)开发是一种针对地理信息系统(GIS)进行应用开发的技术,它由Esri公司提供,用于构建能够处理地图、空间数据和地理处理任务的定制化解决方案。ArcObjects是一套全面的COM组件,允许程序员...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    8、ARCCIS开发(VBA,AO+VB,Arc-Engine+C#)及ARCCIS ENGINE与AO开发上机 主讲人:GIS硕士、南京路川公司专业技术开发工程师(空调机房) 9、ArcGIS二次开发——Arc-Engine点线面属性与空间相互查询 主讲人:GIS硕士...

Global site tag (gtag.js) - Google Analytics