Questions tagged «add-in»

执行自定义任务的软件程序的扩展。

20
在调试ArcGIS 10外接程序时,为什么断点不会被“命中”?
我不时遇到以下问题: 我开始调试加载项,并且断点将被忽略。IDE和组件之间的通信似乎几乎无法正常工作。 我的问题是,上一次发生这种情况后,我解决了它,现在我不记得自己做了什么修复。 断点当前不会被命中。没有为文档加载任何符号。 在某种程度上,这里已经描述了我遇到的问题,但是对于实际的断点故障没有解决方案。 请注意,这通常有效。 删除bin和obj似乎无效。 这次我只是从备份中还原了整个项目并重新开始,但是我想知道如何解决这个问题,如果我再次遇到这个问题。

2
从.NET调用arcpy / python?
是否有任何可用的示例说明如何将python集成到.NET ArcGIS Addin或Extension中?我想从.NET中的表单事件(例如按钮单击)调用一系列python脚本。我还希望能够从.NET表单中在脚本中设置变量。 我应该咬紧牙关,然后在.NET中重新编写这些脚本,还是有一种简单的方法来包装python代码?

6
带有app.settings的ArcMap加载项无法识别app.config的更改?
我已经开发了一个需要配置文件的ArcMap加载项。花了一段时间尝试从单个App.Config文件中读取配置值(并始终为null)之后,我相信该加载项无法从此处读取值,因为它是一个类库,并且正在寻找调用应用程序(ArcMap)我的配置文件,当我要求一个键的值(因此为null)时。 为了解决这个问题,我使用了一个App.Settings文件,该文件可以很好地读取。创建此文件还将在环境中引入一个App.Config文件,Visual Studio似乎在开发过程中使两个文件保持同步。 现在已经部署了外接程序,我需要能够更改配置值(例如,日志文件位置)。我尝试打开/解压缩.esriaddin文件并在那里更新App.Config文件,但是该加载项保留了与编译时相同的配置值。我知道新的App.Config值将保留在.esriaddin文件中,因为关闭存档后我可以再次查看它们。 有谁知道配置外接程序并允许此配置在部署后可更新的可靠方法?任何建议都非常受欢迎,因为我为此需要一个自定义配置文件似乎很荒谬。 App.Settings值在应用程序级别,并且当前App.Settings和App.Config都具有构建操作:无/不复制。

3
Python加载项与.NET加载项对ArcGIS for Desktop的优缺点是什么?
我在ESRI .NET帮助中找到了: 蟒蛇 所有ArcGIS Desktop应用程序都包含一种称为Python的嵌入式脚本语言。通过简化的Python应用程序编程接口(API)可以访问ArcGIS的许多区域(尤其是地理处理区域),从而使创作和自动执行常见任务变得容易。Python脚本易于共享,无需外部开发环境即可生成。有许多公共领域的Python模块专注于科学,工程和数学等领域。凭借其所有优点,Python并不适合所有编程任务。尽管覆盖范围有所改善,但当前并非所有ArcGIS领域都可以使用Python。此外,Python的编辑和调试经验不像商业开发环境(如Visual Studio)所包含的那样复杂或易于使用。最后,您无法使用Python侦听和响应ArcGIS事件,实现COM接口或插入ESRI的许多COM可扩展性点。 并在ArcGIS Desktop帮助中: ArcGIS 10.1将Python引入了用于编写桌面外接程序的语言列表,从而为您提供了扩展桌面功能的简单解决方案。为了简化Python加载项的开发,必须下载并使用Python加载项向导声明自定义类型。该向导将生成该外接程序正常工作所需的所有必需文件。 Python和.NET加载项是否具有相同的功能?这是否意味着我可以在Python和.NET中做同样的事情?


2
ArcGIS 10加载项:顶级异常处理
我正在使用的ArcGIS 10插件非常简单-只是一个工具控件和一个可停靠窗口。我正在处理预计会在源头发生的特定异常,并抛出其他所有异常,但是在外接程序框架中处理那些意外异常的最佳实践是什么? 我目前只是在做一个catch (System.Exception ex),并在没有可用我可以处理的更高级方法的每个方法中将其显示在MessageBox中,但这似乎不是最佳实践(当然,FxCop在抱怨关于它)。 ArcGIS 10附加框架中是否有任何功能可用于关联顶级异常处理程序,例如Application.ThreadException或AppDomain.UnhandledException事件? 看到加载项只是类库,而不是无法访问基础应用程序的启动代码的应用程序(从我的收集中,这些事件必须在启动过程的早期就进行挂钩),我的猜测不是,但我认为我想问一下是否有任何专家对外接程序中应如何处理“意外”异常有任何建议。

1
ArcMap插件-以编程方式添加互操作性连接
我目前正在使用.Net框架为ArcMap-ArcView构建外接程序。 ArcMap和外接程序的用户应访问从WFS服务发布的数据。 我知道可以通过“ 互操作连接”界面手动添加WFS服务。 但是,是否可以通过编程方式添加这些WFS服务?(可能是-我的用户会发现很难手动添加这些内容) 如果是的话,怎么办呢? 我似乎找不到有关此主题的任何信息。

1
在Addin中运行的ArcObjects速度较慢?
我创建了一个类库,该类库进行了一些地理处理。插件会调用一个异步过程的类。我已经确保线程是STA,并且arcobjects是线程安全的(即未从插件中传递)。所有arcobjects在线程内创建。 因为这是一个类库,所以我将其包装在winforms UI中,也作为外接程序包装。两组代码完全相同,并且使用完全相同的数据执行测试。Winforms和Addin都以所需的结果完成了代码,并且没有明显的内存泄漏。对于插件,此时与映射周期没有交互,并且winforms代码中也没有映射或显示元素。 唯一的UI更新是插件和UI中进度对话框的更新。该插件正在使用可停靠窗口(用户控件ui)。 我看到的问题是,从插件中调用库时,代码执行速度比通过winforms应用程序调用的相同代码慢5倍。 关于我可能会看到为什么发生的任何想法?

2
如何在“插件扩展说明”中插入换行符?
显然,Esri的扩展程序管理器中的文本框不包装文本(10.0 SP2)。 作为一种解决方法,我正在尝试在XML文件中插入换行符,但没有找到任何有效的方法。 这是xml: <Extensions> <Extension id="AmberGIS_ExtensionMgrAddin_ExtMgrExtension" class="ExtMgrExtension" productName="Extension State Manager" showInExtensionDialog="true" autoLoad="true"> <Description>Lets you specify extensions that will be \n turned off automatically when document closes.</Description> </Extension> </Extensions> 有谁知道如何将换行符放入加载项xml配置文件中?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.