MAPGIS二次开发常见问题及解决方案
173 浏览量
更新于2024-06-28
收藏 120KB DOC 举报
"MAPGIS二次开发常见问题汇总"
在MAPGIS的二次开发过程中,开发者可能会遇到各种问题,以下是一些常见的问题及其解答:
1. **生成MAPGIS明码文件**:
使用Delphi进行MAPGIS明码文件的生成,需要理解明码文件的格式,这是数据存储的基础。通过Delphi的文件处理函数,可以创建一个文本文件,并按照MAPGIS规定的明码格式将数据库中的数据写入到这个文本文件中。
2. **ATT_STRU与CATT_STRU的区别**:
ATT_STRU是早期版本的属性结构,而CATT_STRU是更新的版本,包含更详细的属性信息。在开发时,建议使用CATT_STRU以获取更全面的数据描述。详细用法可以参考MAPGIS的二次开发帮助文档,特别是关于数据结构章节中关于属性字段描述结构、属性字段描述头和属性信息头的部分。
3. **无法打开子图库**:
这可能是由于系统库路径不正确导致的。解决方法是将mapfont.gis、mconfig.gis、netcfg.gis三个关键文件复制到执行程序的目录下。这些文件通常位于MAPGIS\PROGRAM\目录。此外,可以运行MapEnv.exe进行配置,这个工具同样在这个目录下。
4. **获取工作区中的图元号**:
如果已知工作区号(ai),可以通过MAPGIS的API函数来获取工作区内的图元号。例如,可以使用_GetPntNum函数获取点数,然后遍历所有点,使用_getpnt函数获取每个点的信息,其中返回的i就是图元号。
5. **使用MapGis6.5的SDK函数NearPnt**:
NearPnt函数用于在指定图层中寻找最近的点。参数包括工作区号(ai)、点的位置(xy)、图层开关标志(layerOnOffPad)以及返回的距离(dis)。例如,当鼠标在某个位置时,可以调用这个函数找到最近的点并获取其距离。返回值是成功找到的点号,失败则为0。
6. **屏蔽CPrjEditView中的右键功能**:
在CPrjEditView类中,有一个属性叫做PopMenuControl,通过设置这个属性可以控制右键菜单的显示。将其设为False或不启用,即可禁用右键菜单的功能。
以上是MAPGIS二次开发中的一些典型问题和解决方案,对于开发者来说,理解和熟练应用这些知识可以帮助解决实际开发过程中的问题,提高开发效率。在实际操作中,还应结合MAPGIS的官方文档和开发工具进行更深入的学习和实践。
点击了解资源详情
点击了解资源详情
102 浏览量
2022-11-19 上传
2022-11-01 上传
121 浏览量
2022-06-03 上传
135 浏览量
matlab大师
- 粉丝: 2798
- 资源: 8万+
最新资源
- SSH整合实例(经实践,可直接套用的)
- Art_of_Java_Web_Development
- 深入浅出ARM7-LPC213X/214X(上)
- SAM和决策树研究应用技术
- AT24C01_CN
- Linux_Systems_Programming
- 单片机80c51外文翻译
- 航天信息开票系统红字发票升级技术服务人员升级维护手册
- 2009年计算机专业考研专业课大纲解析
- CodeVisionAVR C 库函数介绍
- AVR 单片机与GCC 编程
- Apress.LINQ.for.Visual.C.Sharp.2008.Jun.2008 电子版(PDF)
- 关于ACE自适配通信环境的技术文档
- 有关C标准和实现等内容
- C++标准程式库标准程式库
- Groovy_in_Action