ArcGIS Desktop Add-in插件开发系列四

来源:互联网 发布:win10禁止安装软件 编辑:程序博客网 时间:2024/05/19 04:56
 

高级话题

延迟加载

包含Add-in的程序集默认是在点击菜单或工具栏上的某一项目(例如按钮、命令)才正式加载到应用程序中的,这样做的好处就是节约了应用程序所使用的内存空间。如果要控制对象是否可以被点击,则需要在按钮或命令对象的OnUpdate事件里设置其Enable属性,并在对应的esriaddinx文件里对应的XML节添加onDemand属性,并设置为false,这样Add-in就能在应用程序启动后立即加载,激发OnUpdate事件。

 

文件结构

Add-in的活动部分,即我们编译后的dll以及一些satellite程序集都会被放到esriaddin压缩包里的Install文件夹中,在第一次启动Add-in时,系统会自动把该文件夹的内容解压出来放到一个系统目录。

Vista/7: C:\Users\<username>\AppData\Local\ESRI\Desktop10.0\AssemblyCache

XP: C:\Documents and Settings\<username>\Local Settings\Application Data\ESRI\Desktop10.0\AssemblyCache

当我们通过Add-in Manager删除Add-in时,上述目录会自动删除。

对于Add-in用到的一些图片,我们可以在esriaddinx配置文件里设置其引用路径,其路径是一个相对路径,根目录就是我们的esriaddin压缩文件。

如果我们有些数据或其他文件需要添加到esriaddin压缩文件中,我们可以设置这些资源的复制到输出目录属性为始终复制。

 

注册表

在安装有ArcGIS Desktop的电脑上,Windows的注册表里会有几个针对Add-in控制的注册键。

路径HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\Desktop10.0\Settings下:

注册键BlockAddins可设置为多个值:

0:允许加载所有Add-ins。

1:允许加载已签名的Add-ins。

2:只允许加载由ESRI提供的Add-ins。

3:只允许加载由ESRI提供的,并且安装在指定目录下的Add-ins,目录可以通过注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\Desktop10.0\Settings\AddInFolders指定。

4:不允许加载任何Add-ins。
原创粉丝点击