问:为什么通过 Microsoft Visual Studio 开发并编译的插件在桌面程序中不能被加载?
答: 插件被加载要具备如下条件: Microsoft Visual Studio 中开发并编译的插件原则上是在编译时自动部署到相应的位置,如插件所在的程序集(.dll)自动默认拷贝到安装目录\Bin\Plugins、目录下所建立的与工程名同名的文件夹中,插件配置文件(.config)自动默认拷贝到安装目录\Workenvironment\Defalt\目录下,插件未能加载可能是由于上述的条件不具备;
或者检查插件配置文件中所指定的程序集和 CtrlAction 类的路径是否正确。
问:覆盖安装覆盖了配置文件怎么办?
答: 一定要将用户自己开发的插件的配置文件做好备份,一般将用户自己开发的插件的配置文件单独存放,即建立一个新的工作环境来放置用户所需的插件以及用户自己开发的插件的配置文件。
问:为什么在 Visual Studio 2008 中,打开示范代码工程后,按 F5 进行调试,为什么会弹出错误警告?
答: 我们在示范代码工程属性“调试”选项卡中,设置了启动外部程序的路径为“..\..\Bin.exe”,这个路径是相对于示范代码工程文件(.sln)的相对路径。若先启动
Visual Studio 2008,再打开示范代码工程文件(.sln),此情况下,系统当前路径为 Devenv.exe
所在的路径,在相对路径“..\..\Bin\”下,无法找到并运行“.exe”程序。
解决方法:
1 直接双击打开 *.sln 文件,即可保证“..\..\Bin.exe”相对路径的正确性;
2 在示范代码工程属性“调试”选项卡中,修改启动外部程序的路径为“.exe”的绝对路径。
问:通过 SuperMap.Tools.RegisterTemplate.exe 手动注册二次开发环境成功后,在 Microsoft Visual Studio 中进行二次开发时,工具箱中没有可用的桌面控件,且“引用”节点的右键菜单中也没有“添加SuperMap iDesktop引用…”选项。
答: 该问题的原因是下载的绿色程序压缩包未在其属性处解除锁定,解决方案为:在下载的压缩包右键菜单中选择“属性”,单击“属性”对话框中的“解除锁定”按钮,将压缩包重新解压后,再双击
Tools 文件夹中的 SuperMap.Tools.RegisterTemplate.exe 文件,重新注册二次开发环境即可。
问:在利用桌面开发插件时,如何解决 Microsoft .NET Framework 版本不兼容的问题?
答: 解决方法:
1、将如下内容复制到记事本中:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="V4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
其中,sku=“.NETFramework,Version=v4.0”代表了支持的 .NET Framework 版本。用户可自行修改 .NET
Framework 的版本。
2、保存该文件,文件名称为 .exe.config。注意文件后缀名称为 config。
3、将该文件复制到指定路径下:安装盘:\Program Files\SuperMap\Bin 根目录下,即可基于该版本的 .NET Framework
进行开发。
问:Recordset 对象何时需要释放?
答: 在一个函数里局部使用的 Recordset 对象,在不用的时候一定要调用一下其 Dispose 方法。
问:地图要显示数据之前是否必须先与工作空间建立连接?
答: 是,当用户利用 MapControl 控件显示数据前,必须通过 Map.Workspace = workspace 与
Workspace 对象进行关联。
问:程序退出之前需要把工作空间和地图关闭吗?
答: 需要关闭,关闭的顺序是先关闭 Map 对象或 MapControl 对象,后关闭 Workspace 对象。
问:地图坐标系与屏幕坐标系的区别?
答: 地图坐标系的坐标原点为左下角,X值在往右的方向增加,Y值在往上的方向增加;屏幕坐标系的坐标原点在左上角,X值在往右的方向增加,Y值在往下的方向增加。
问:标签专题图与统计专题图同时显示时的避让问题?
答: 默认情况下 Map 的 IsTextOrientationFixed 属性值为 true,文字避让会导致某些文字不显示,所以当在一个 Map 中既有标签专题图又有统计专题图时,或者有多个标签专题图,统计专题图,文本图层时,地图的显示效果会根据图层添加的顺序不同而不同。如果将 Map 的 IsTextOverlapAvoided 属性值设置为 false,则可以显示重叠文本。
问:在 MapControl 没有显示的情况下能调用 DoMouseDown 操作吗?
答: 在 MapControl 没有显示的情况下,最好不要调用任何 Do 操作,例如调用 DoMouseDown 操作,否则会出现崩溃。
问:为什么 Oracle、SQL 和 DB2 引擎数据源制作单值专题图时,不能将单值字段表达式设置为条件表达式?
答: Oracle、SQL 和 DB2 引擎类型的数据源在制作单值专题图的时候,其字段表达式不支持条件表达式。如果传入的字段表达式是条件表达式,例如:“SmID>100”,那么制作单值专题图会失败,返回
NULL;所以字段表达式应该为字段名或者字段运算式,例如 (SmID) 或者 (SmID + 1) 等。
问:为什么通过 Deskpro .NET 和 Objects .NET 查看同一个图层的符号大小或线宽数值不同,Deskpro .NET是 Objects .NET 的十倍?
答: 两个产品使用的逻辑坐标单位不同,Objects .NET 使用毫米为单位,Deskpro .NET 以0.1毫米为单位。
问:设置 MapControl.Action 属性为 Create常量时,为什么有时会失败?**
答: 出现失败时,请查看地图是否有可编辑图层,当没有可编辑图层时会导致设置失败。如果绘制临时对象,请在设置 Action 之前,设置 MapControl 的 TrackMode 属性。
问:地图出图或地图显示的效果与调用 ViewEntire() 方法的效果并不一样?
答: 请检查是否在调用 ViewEntire() 方法后又重新调整了地图的 ImageSize
或是地图控件的大小。如果调整大小后仍需全幅显示,则需再次调用 ViewEntire() 方法。
问:设置选择集的填充前景色无效,总是显示对象本身的颜色,只有边线根据设置颜色高亮显示?
答: 请查看选择集的风格设置的填充符号 ID 是否为无填充样式,如果是表示不填充。此时把 ID 设置为其他填充样式,即该符号为实体填充。
问:为什么在 Recordset.AddNew,Update 前对需要设置的 Geometry 进行 Dispose(), 执行 Update 时发现访问非法内容?
答: 在 Update 后进行 Dispose 就可以了,因为在 Update 时还会使用到传入的 Geometry 对象。代码改成这样即可:
recordset.AddNew(region);
recordset.Update();
region.Dispose();
问:为什么在三维场景中球面出现大片白色区域?
答: 如果三维场景中出现球面伴有大片白色区域,说明与当前机器配置有关,请检查是否开启硬件加速为完全状态。
开启硬件加速步骤:选择桌面空白处,右键弹出”属性”对话框,选择”设置”选项卡,点击”高级”按钮,在新弹出对话框中选择”疑难解答”选项卡,启用硬件加速为完全。
问:有时候用户在使用某些方法时抛出异常,这是怎么回事?
答: 为了产品能够运行稳定,在某些方法中会抛出异常,这通常是由于用户运行环境的问题造成的。假如遇到这种情况,用户可以首先通过捕获异常,并查看异常类型加以确定解决。
问:在 Visual Studio 中新建的插件,出现引用不能添加的情况应该怎么解决?
答: 引用添加不成功,是因为 Bin 文件夹的路径设置不正确导致的。一般情况下,默认使用安装包中 Bin 所在的路径中的引用文件。如果用户想引用其他位置的 Bin 目录下的文件,则需要正确设置 Bin 文件的路径。有两种设置的途径:
- 一种是通过 SuperMap 快速引用功能,在“添加 引用”对话框中,通过“浏览”功能重新定位要引用的文件所在的 Bin 路径。具体操作可参见 产品入门->二次开发->第一步:创建一个新的工程中的介绍。
- 另外一种是通过在 Visual Studio 项目工程中修改插件属性。打开插件工程属性窗口,在“ 调试 ”项中修改启动外部程序的路径,如下图所示:
问:安装了64位的桌面产品,在VS2013中新建项目时,选择了SuperMap Desktop StartUp模板,直接点击“启动”失败。这是什么原因导致的,该如何解决?
答: 使用64位的桌面进行扩展开发, 需要:1、
手动把生成目标平台改成x64。因为桌面提供的模板的目标平台是x86的,所以即使安装的是64位的桌面,默认的平台也是x86,需要用户手动修改。2、项目属性中,“生成”选项中将“输出路径”修改为安装后的桌面Bin目录。
另外,如果“调试”—>“启用调试器”中的”启用Visual Studio承载进程”处于勾选状态,还需要去掉此勾选状态。再次点击“启动”,
就可以正常启动桌面软件。
其他 top
问:如何查看应用程序的版本信息?
答: 通过开始菜单中的“桌面选项”按钮打开“选项”窗口,点击左侧的“关于”项,右侧区域将显示版本信息。
问:启动桌面的时候提示需要安装.NET Framework 4.0,怎么办?
答: 找到产品安装根目录 文件夹下的Support子文件夹下安装包自带的dotNetFx40Fullx86_x64.exe,双击安装即可。
问:在官网下载的绿色包,解压后程序无法启动? 答: 右键单击绿色版本压缩包,查看文件属性,在属性面板中解除压缩包锁定,并重新解压,即可正常启动应用程序。
问:双击桌面快捷方式 .exe启动的时候,发现启动界面闪了一下后就没反应了或者提示许可不可用,怎么办? 答: 原因在于没有配置许可,或者没有可用的许可。找到产品安装根目录, 如D:\Program Files\SuperMap\Tools\SuperMapLicenseCenter文件夹下的SuperMap.LicenseCenter.exe双击安装即可。一般安装完成后,产品会自带90天的试用许可,如果用户以前用过SuperMap产品,在安装配置完成后许可中心提示许可过期或无可用许可,此时需要更新许可,具体方法如下: 1、 获取正式许可,请直接联系超图软件进行购买; 2、 获取试用许可,请登录SuperMap技术资源中心申请试用许可。
问:在用户定制窗口中,对功能区上的某控件指定 F1 帮助页面定位的网页地址后,为什么按 F1 键不能进行定位?
答: 必须同时指定该控件的 CtrlAction 或者代码段后,所设置的 F1 定位网页才生效。
问:打开联机帮助文档时,为什么页面会是空白的?
答: 若打开文档页面空白,说明联机帮助已被锁定,单击文档右键,选中“属性”选项,在文件属性处解除锁定即可。
问:为什么帮助文档中的动画不能播放?
答: 帮助文档中的动画为 SWF 格式的文件,用户必须安装 Flash 播放器,帮助文档中的动画才可以在帮助文档中播放。
问:为什么“投影设置”按钮的下拉按钮弹不出下拉菜单?
答:
投影设置下拉按钮的下拉菜单将显示投影管理窗口中收藏夹中收藏的投影文件,如果投影管理窗口中的收藏夹中没有收藏投影文件,则“投影设置”下拉按钮的下拉按钮部分不可用,因此不能弹出下拉菜单。
问:在联机帮助文档中搜索中文时,为什么有时会搜索不到?
答: 联机帮助文档不支持中文字搜索和模糊搜索。
问:为什么桌面应用程序界面上所显示的字体看上去不够光滑?
答: 界面字体不光滑的原因可能是因为没有将系统字体光滑方式设置为 ClearType,需要将系统字体的光滑方式设置为 ClearType 即可解决这个问题。
问:为什么将属性表中某一列的属性信息(例如,中文地名)直接粘贴到 word 文档中,会出现乱码?
答: 这个问题的产生与 word 中粘贴选项功能的默认设置有关。直接采用 Ctrl + V
的方式进行粘贴,系统辨认为图形文档并以图形文档的形式粘贴,此时则会产生乱码。
有以下三种解决方法: 1 先将信息粘贴至记事本中,将属性信息转为无格式的文本信息,再粘贴到word 文档中。 2 在 word
开始菜单中,修改【word选项】>【高级】标签中【剪切、复制和粘贴】区域中将“从其他程序粘贴F:”右侧的粘贴方式由“保留源格式(默认)”改为:“仅保留文本”,保存设置后,再将属性信息粘贴至
word 文档中。 3 先将属性信息粘贴至 word 文档中,点击粘贴区域右下侧的粘贴按钮,点击下拉菜单按钮在弹出的下拉菜单中选择“仅保留文本”项,然后文本就会正常显示了。
问:使用 Oracle 数据库应注意什么问题?
答: 要使用 Oracle 数据库,必须安装 Oracle 客户端;当连接比较多的时候,需要修改 Oracle 服务器的最大Connection 数和最大 Cursor 的个数。
问:使用 PostgreSQL 数据库应注意什么问题?
答: 要使用 PostgreSQL 数据库,必须安装 PostgreSQL 客户端;安装完客户端后需要设置 PostgreSQL 的环境变量;若服务器安装有防火墙,需要将其配置的监听程序的端口开放(标准端口为5432)。
问:使用 DB2 数据库应注意什么问题?
答: 要使用 DB2 数据库,必须安装 DB2 客户端;在对 DB2 数据库进行操作之前需要先对其进行编目才能连接到数据库。
问:电脑访问 SQL Server 这种 ODBC 数据源速度慢,怎么办?
答:
通过”控制面板—>管理工具—>数据源(0DBC)“的跟踪选项卡,参看跟踪状态。如果跟踪状态是开启,将其停止后可改善访问速度;如果已经是停止状态,请检查其他原因。