您的位置:GIS门户网 GIS开发 正文
GIS网内容搜索
GIS网热门内容
GIS网推荐内容
GIS网最新内容
提出意见和建议

如何用Delphi进行ArcObjects的应用开发

GIS门户网提示:本文章共5469字,分4页,当前第1页,快速翻页:
 

一、 ArcObjects简介
软件重用是业界追求的目标,人们一直希望能够像搭积木一样随意地“装配”应用程序;组件对象就充当了积木的角色。所谓组件对象,实际上就是预先定义好的、能完成一定功能的服务或接口。Microsoft''''s Component Object Model (组件对象模型,简称COM)是组件对象之间互相接口的规范。凡是遵循COM接口规范的对象彼此之间能相互通信和交互,即使这些对象是由不同的厂商用不同的语言编写,在不同的Windows版本甚至在不同的机器上建立。 

 

ArcObjects是ESRI公司提供的一套基于COM技术的组件库。ArcGIS(tm) 软件家族中的ArcMap(tm),ArcCatalog(tm),and ArcScene(tm)应用程序就是由ArcObjects构建而成的。COM本质上仍然是客户/服务器模式,如“图A”所示,客户(通常是应用程序)请求创建COM对象并通过COM对象的接口操纵COM对象,服务器根据客户的请求创建并管理COM对象。COM是个二进制规范,它与源代码无关,我们可以使用任何支持COM的编程语言(如Visual Basic、Visual C++、Delpi等)做ArcObjects的应用开发。不过,目前的ArcObjects不是独立的SDK,所以要用ArcObjects开发独立的应用系统,必须要在已装有ArcInfo(tm),ArcEditor(tm) 或 ArcView(tm)的环境下进行,以获取软件使用的许可。 字串4

二、 Delphi编程环境下ArcObjects的开发过程
由于随机带的ArcObjects开发帮助手册(ArcObjects Developer Help)以及ESRI
公司主页上的ArcScripts里提供的大部分编程指导和例程都是用Visual Basic和Visual C++编写的,为了让习惯于用Delphi工作的程序员们能方便地使用ArcObjects 进行独立的应用开发,下面我们用Delphi 5 + ArcObjects来构造一个简单的GIS应用程序作为示例,以供参考。这个应用程序会实现一些如:图形数据的加载,地图的放大、缩小、漫游、全景显示及在地图上添加点状图形标记的功能。 字串6

说明:如过以前已做过第一、二步的工作可以跳过,直接从 第三步入手。
第一步:引入ArcObjects 类型库文件
使用Delphi 5.0“Project | Import Type Library……”菜单项打开“Import Type Library”对话框,从其类型库文件列表框中找到“ESRI Object Library (Version 1.0)”,即为“%ARCHOME%\bin\esriCore.olb”文件。接下来操作需要注意,这时在“Class Name”列表里罗列了所有esriCore.olb实现类的类名,由于其中的部分类名与Delphi的VCL组件库里定义的类名有重复,为了避免产生冲突,建议把上述列表里罗列的所有类名由原来的以“T”开头改为以“Tesri” 开头,最后按“Create Unit”,这样在“Unit dir name”编辑栏处指定的目录里会生成一个名为“esriCore_TLB.pas”的该类型库的Object Pascal外套文件,从中可以看出该类型库中的所有GUID常量、类型、接口和CoClass组件类。

 

第二步:引入ArcObjects 地图控件
使用“Component | Import ActiveX Control……”菜单项打开“Import ActiveX”对话框,从其ActiveX控件列表框中找到“ESRI ArcObjects Controls 8.1(Version1.0)”并按“Install……”按钮,然后一路“确认”。这样在Palette控件面板的ActiveX页面上就会出现一个“TMapControl”类型的ActiveX控件。 字串7

第三步:功能实现
1 . 准备工作
 

收藏本页:

点这里复制本页地址发送给您QQ/MSN上的好友

相关文章

ArcObject入门教程
如何打包.net framework发布[教程]
迷失在专注中的Web2.0
ArcGIS中有关MDB文件锁定的说明
OpenLayers教程之空间数据的组织与实现
OpenLayers教程之解析GML文件
OpenLayers教程之OpenLayers的WMS调用
OpenLayers教程之OpenLayers中的类介绍
软件工程爱好者的典藏-软件工程思想
API全功略(API编程的详细介绍)
ArcGIS Desktop开发基础
使用ArcGIS Engine开发应用程序[二次开发教
ArcObjects 3D开发简介[教程]
ArcObjects中利用线的节点打断线
AO中加载SDE中的Raster数据
AO中直接加载ArcSDE矢量数据
ArcMap开发VB代码之启动
AO入门闲谈
AO入门
AO开发环境

相关评论


GIS门户网提示:本文章所属分类:首页 GIS开发
GIS

GIS