“Components”元素用于指定构成一个版本的插件的组件。
多个“Components”元素可用于标识插件的组件;每个“Components”元素可以标识一个或多个组件。“Components”元素的平台和产品信息由“RuntimeRequirements”元素定义。
如果要将所有在“Components”元素中定义的组件应用到相同的平台,用户不需要将“RuntimeRequirements”元素添加到每个单独的“ComponentEntry”元素。
与“RuntimeRequirements”元素一起,“Components”元素可能包含一个或多个以下元素
以下内容概述了“Components”元素及其可以包含的任何元素之间的基本关系。
<Components> <RuntimeRequirements ... /> <RegistryEntries> <RegistryEntry ... /> </RegistryEntries> <SystemVariables> <SystemVariable ... /> </SystemVariables> <EnvironmentVariables> <EnvironmentVariable ... /> </EnvironmentVariables> <ComponentEntry ... > <RuntimeRequirements ... /> </ComponentEntry> <ComponentEntry ... /> <Commands ...> <Command ... /> </Commands> </Components>
“ComponentEntry”元素是必需的,用于指定关于“Components”元素中各个组件的详细信息。
可以根据需要指定任意多个“ComponentEntry”元素。组件类型可以是以下文件格式之一:
Windows 和 Mac OS
仅适用于 Windows
如果“LoadReasons”属性设置为“LoadOnCommandInvocation”,则“ComponentEntry”元素可能包含“命令” 元素。
“ComponentEntry”元素可以有以下任一附着属性:
属性 |
说明 |
---|---|
应用程序名称 |
对于 AutoLISP 可选;对于 ObjectARX 和 .NET 必需 - 组件的名称;与 ObjectARX API AcadAppInfo 类中的“应用程序名称”相同。 |
应用程序说明 |
组件的说明;与 ObjectARX API AcadAppInfo 类中的“应用程序说明”相同。 |
AppType |
组件类型;替代源自“模块名称”属性中提供的文件扩展名的类型。 组件类型可以是以下类型之一:
|
模块名称 |
程序包中组件的相对路径;与 ObjectARX API AcadAppInfo 类中的“模块名称”相同。 组件类型由文件的扩展名确定:
如果应用程序要处理多种语言,通过将“模块名称”与区域设置代码组合在一起来指定特定组件的不同语言版本。请参见“支持的区域设置代码参考”,以获取支持的区域设置代码的完整列表。 注: 所有路径指定符为“/”和“\”,路径相对于根 .bundle 文件夹。
|
每文档 |
仅对于 AutoLISP - 当为“真”时,每个文档加载 AutoLISP 文件一次。默认值为“真”。 |
Loadreasons |
可以指定多个值 - 使用“Loadreasons”定义组件的加载行为参数,除了“LoadOnCommandInvocation”参数。 默认情况下,如果“LoadReasons”未指定,“LoadOnAutoCADStartup”、“LoadOnAppearance”和“LoadOnProxy”处于启用状态(设置为“真”)。如果需要禁用参数(设置为“假”),则“LoadReasons”元素必须与设置为“假”的参数一起指定。 默认情况下,“LoadOnCommandInvocation”处于禁用状态,启用它将禁用“LoadOnAutoCADStartup”和“LoadOnAppearance”,除非明确启用。如果一个或多个命令定义为“Components”元素的一部分,将隐式启用 LoadOnCommandInvocation。 有关 AcadAppInfo LoadReasons 的完整的详细信息,请参见 《ObjectARX 参考手册》。 有效参数值:
可以使用下列参数:
|
XamlType |
XAML 类型;当前唯一支持的值为“ContextualTabRule”,并且在将 XAML 文件分配给 ModuleName 属性时需要该值。使用 XAML 文件的应用程序文件应在包含 XAML 文件的“ComponentEntry”元素后列出。 |
“RegistryEntries”元素是可选的,并且可以包含一个或多个“RegistryEntry”元素。“RegistryEntry”元素包含插件应该创建或修改的注册表项的定义。注册表项存储在 Windows 注册表中或 Mac 操作系统上的特性列表 (PLIST) 文件中。
属性 |
说明 |
---|---|
名称 |
要创建或修改的注册表项的名称。 |
值 |
要指定给注册表项的值。 该值可以包括下列可选运算符前缀之一:+、-、& 和 |。 有关详细信息,请参见“变量值运算符前缀”部分。 注: 将值应用于注册表项后,不会保留运算符前缀。
|
类型 |
要分配给注册表项的数据类型。(可选)在修改现有的注册表项时。 有效值为:
如果运算符前缀用作注册表项值的一部分,则必须指定相应的数据类型。如果未使用相应的数据类型,则运算将被视作字符串运算。 |
标志 |
可选,创建和修改标志。可以指定多个标志;使用管道符号分隔各个标志。 支持以下标志:
注: 必须使用 Open 或 OpenOnce 标志来修改注册表项的值。
|
下面的示例将创建注册表项 MYREGKEY 并添加值 STRING 和 NUMBER:
<RegistryEntries> <RegistryEntry Key="MYREGKEY" Name="STRING" Value="Example" Type="REG_SZ" /> <RegistryEntry Key="MYREGKEY" Name="NUMBER" Value="123" Type="REG_DWORD" /> </RegistryEntries>
“SystemVariables”元素是可选的,并且可以包含一个或多个“SystemVariables”元素。“SystemVariable”元素包含插件应创建或修改的系统变量的定义。
属性 |
说明 |
---|---|
名称 |
要创建或修改的系统变量的名称。 |
值 |
要分配给变量的值。 该值可以包括下列可选运算符前缀之一:+、-、& 和 |。 有关详细信息,请参见“变量值运算符前缀”部分。 注: 将值应用于变量后,不会保留运算符前缀。
|
PrimaryType |
要分配给变量的数据类型。(可选)在修改现有系统变量时。 有效值为:
如果运算符前缀用作变量值的一部分,则必须指定相应的数据类型。如果未使用相应的数据类型,则运算将被视作字符串运算。 |
StorageType |
变量值的存储位置;在保持不变时。(可选)在修改现有系统变量时。 有效值为:
|
所有者 |
可选,AcRX 服务名称。 用于使系统变量只读并且仅可通过使用 acrxRegisterService() 注册服务名称的应用程序进行修改。 |
标志 |
可选,创建和修改标志。可以指定多个标志;使用管道符号分隔各个标志。 支持以下标志:
注: 必须使用 Open 或 OpenOnce 标志来修改变量的值。
|
下面的示例创建了一个名为 MYVARIABLE 的系统变量:
<SystemVariable Name="MYVARIABLE" PrimaryType="String" StorageType="User" Value="Example" Owner="" Flags="Create|DotIsEmpty|SpacesAllowed" />
下面的示例在首次加载插件时,将 CURSORSIZE 系统变量的值更改为 100:
<SystemVariable Name="CURSORSIZE" Value="100" Flags="OpenOnce" />
“EnvironmentVariables”元素是可选的,并且可以包含一个或多个“EnvironmentVariable”元素。“EnvironmentVariable”元素包含插件应该创建或修改的环境变量的定义。环境变量存储在 Windows 注册表中或 Mac 操作系统上的特性列表 (PLIST) 文件中。
属性 |
说明 |
---|---|
名称 |
要创建或修改的环境变量的名称。 |
值 |
要分配给变量的值。 该值可以包括下列可选运算符前缀之一:+、-、& 和 |。 有关详细信息,请参见“变量值运算符前缀”部分。 注: 将值应用于变量后,不会保留运算符前缀。
|
类型 |
可选,值表示的数据类型。 有效值为:
如果运算符前缀用作变量值的一部分,则必须指定相应的数据类型。如果未使用相应的数据类型,则运算将被视作字符串运算。 |
标志 |
可选,创建和修改标志。可以指定多个标志;使用管道符号分隔各个标志。 支持以下标志:
注: 必须使用 Open 或 OpenOnce 标志来修改变量的值。
|
下面是创建两个名为 MYNUMVAR 和 MYSTRVAR 的环境变量的示例:
<EnvironmentVariables> <EnvironmentVariable Name="MYNUMVAR" Value="123" /> <EnvironmentVariable Name="MYSTRVAR" Value="Example" /> </EnvironmentVariables>
运算符前缀用于在加载插件后,修改变量的当前值。您可以将下表中列出的运算符前缀之一添加到“RegistryEntry”、“SystemVariable”或“EnvironmentVariable”元素的“值”属性。
前缀 |
说明 |
---|---|
+(加号) |
将值添加或附加到现有变量的值。 Int16、Int32、Real:将值添加到现有变量的值。 String:将值附加到现有变量的值。 |
-(连字符) |
从现有变量的值减去或移除一个值。 Int16、Int32、Real:从现有变量的值减去值。 String:从现有变量的值移除值。 |
&(和符号) |
变量现有值的按位“与”运算;仅支持数值。 |
|(管道符号) |
变量现有值的按位“或”运算;仅支持数值。 |
下面的对象将始终启用 END、MID、CEN、NOD、QUA 和 INT 运行对象捕捉,并使所有其他对象捕捉保持原样:
<SystemVariable Name="OSMODE" Value="|63" Flags="Open" />
“命令”元素是可选的,除非已为“LoadReasons”属性启用“LoadOnCommandInvocation” 参数。用于为“LoadOnCommandInvocation”指定注册哪些命令。
可以根据需要指定多个“命令”元素。
“命令”元素可以有以下附着属性:
属性 |
说明 |
---|---|
GroupName |
用于组织相关命令的名称。 |
指定每个命令的全局和本地名称。
“命令”元素可以有以下任一附着属性:
属性 |
说明 |
---|---|
全局 |
全局命令名。 |
本地 |
本地命令名。 通过将“本地命令名”与区域设置代码组合在一起可以为多种语言定义命令。请参见“支持的区域设置代码参考”,以获取支持的区域设置代码的完整列表。 |
帮助主题 |
在命令处于活动状态以及在按下 F1 键时打开的帮助主题。 注: 要显示帮助主题,必须将帮助文件指定给插件。使用“ApplicationPackage”元素下的“帮助文件”属性来指定插件的帮助文件位置。
|
StartupCommand |
如果为“真”,则在启动时执行命令。 |