El elemento Components se utiliza para especificar los componentes que forman una versión del módulo de extensión.
Se pueden utilizar varios elementos Components para identificar los componentes de un módulo de extensión; cada elemento Components puede identificar uno o varios componentes. La información de producto y plataforma de un elemento Components se define con el elemento RuntimeRequirements.
Si todos los componentes definidos en un elemento Components se aplican a la misma plataforma, no es necesario añadir el elemento RuntimeRequirements a cada elemento ComponentEntry individual.
Junto con el elemento RuntimeRequirements, el elemento Components puede contener uno o varios de los siguientes elementos:
A continuación se describe la relación básica del elemento Components y de todos los elementos que puede contener.
<Components> <RuntimeRequirements ... /> <RegistryEntries> <RegistryEntry ... /> </RegistryEntries> <SystemVariables> <SystemVariable ... /> </SystemVariables> <EnvironmentVariables> <EnvironmentVariable ... /> </EnvironmentVariables> <ComponentEntry ... > <RuntimeRequirements ... /> <AssemblyMappings> <AssemblyMapping ... /> <AssemblyMappingFolder ... /> </AssemblyMappings> <Commands ...> <Command ... /> </Commands> </ComponentEntry> <ComponentEntry ... /> </Components>
El elemento ComponentEntry es obligatorio y se utiliza para especificar los detalles de cada componente individual del elemento Components.
Puede especificar todos los elementos ComponentEntry necesarios. Los tipos de componentes pueden tener uno de los siguientes formatos de archivo:
Formato de archivo | Windows | Mac OS | ||
---|---|---|---|---|
AutoCAD | AutoCAD LT | AutoCAD | AutoCAD LT | |
Código de origen de AutoLISP (LSP) | ✓ | ✓ | ✓ | -- |
Archivo de AutoLISP de carga rápida (FAS) | ✓ | ✓ | ✓ | -- |
Proyecto de Visual LISP compilado (VLX) | ✓ | ✓ | -- | -- |
ObjectARX (ARX/CRX) | ✓ | -- | ✓ | -- |
ObjectDBX (DBX) | ✓ | -- | ✓ | -- |
Extensible Application Markup Language (XAML) | ✓ | ✓ | -- | -- |
JavaScript (JS) | ✓ | -- | -- | -- |
Ensamblaje de .NET de modo administrado o mixto (DLL) | ✓ | -- | -- | -- |
Personalización parcial (CUI/CUIx) | ✓ | ✓ | -- | -- |
Paleta de herramientas (ATC) | ✓ | ✓ | -- | -- |
Proyecto VBA (DVB) | ✓ | -- | -- | -- |
Un elemento ComponentEntry puede contener un elemento Commands si el elemento LoadReasons se ha establecido en LoadOnCommandInvocation.
Un elemento ComponentEntry puede tener cualquiera de los siguientes atributos asociados:
Atributo |
Descripción |
---|---|
AppName |
Opcional para AutoLISP y obligatorio para ObjectARX y .NET: nombre del componente; igual que AppName en la clase AcadAppInfo de la API de ObjectARX. |
AppDescription |
Descripción del componente; igual al elemento AppDescription de la clase AcadAppInfo de la API de ObjectARX. |
AppType |
Tipo de componente; modifica el tipo derivado de la extensión de archivo que se proporciona en el atributo ModuleName. El tipo de componente puede ser uno de los siguientes:
|
ModuleName |
Ruta relativa al componente incluido en el paquete; igual al elemento ModuleName de la clase AcadAppInfo de la API de ObjectARX. El tipo de componente se determina a partir de la extensión de archivo:
Si la aplicación va a utilizar varios idiomas, pueden especificarse distintas versiones de un componente específico mediante la combinación del elemento ModuleName con un código de configuración regional. Consulte la referencia de los códigos de configuración regional admitidos para obtener una lista completa de los mismos. Nota: Todos los especificadores de ruta son '/' y no '\", y las rutas son relativas a la carpeta .bundle raíz.
|
PerDocument |
Solo AutoLISP: si se establece en verdadero, el archivo de AutoLISP se carga una vez por cada documento. El valor por defecto es verdadero. |
LoadReasons |
Se pueden especificar varios valores: define los parámetros de comportamiento de carga del componente con LoadReasons, a excepción del parámetro LoadOnCommandInvocation. Por defecto, LoadOnAutoCADStartup, LoadOnAppearance y LoadOnProxy están activados (establecidos en verdadero) si no se ha especificado LoadReasons. Si es necesario desactivar (establecer en falso) los parámetros, se debe especificar el elemento LoadReasons, junto con los parámetros definidos en falso. Por defecto, LoadOnCommandInvocation está desactivado; si se activa, LoadOnAutoCADStartup y LoadOnAppearance se desactivarán a menos que se activen explícitamente. Si uno o varios elementos Command se han definido como parte del elemento Components, LoadOnCommandInvocation estará activado de forma implícita. Consulte la Guía de referencia de ObjectARX para obtener información completa sobre AcadAppInfo LoadReasons. Valores de parámetro válidos:
Están disponibles los siguientes parámetros:
|
XamlType |
Tipo de XAML; él único valor admitido actualmente es "ContextualTabRule" y este es necesario cuando se ha asignado un archivo XAML al atributo ModuleName. El archivo de la aplicación que utiliza el archivo XAML debería aparecer después del elemento ComponentEntry que contiene el archivo XAML. |
El elemento Commands es opcional, a menos que el parámetro LoadOnCommandInvocation se haya activado para el atributo LoadReasons. Se utiliza para especificar los comandos que deben registrarse para LoadOnCommandInvocation.
Puede especificar más de un elemento Command según sea necesario.
Un elemento Commands puede tener el siguiente atributo asociado:
Atributo |
Descripción |
---|---|
GroupName |
Nombre utilizado para organizar los comandos relacionados. |
Especifica los nombres globales y locales de cada comando.
Un elemento Command puede tener cualquiera de los siguientes atributos asociados:
Atributo |
Descripción |
---|---|
Global |
Nombre de comando global. |
Local |
Nombre de comando local. Los comandos pueden definirse para varios idiomas mediante la combinación del elemento Local con un código de configuración regional. Consulte la referencia de los códigos de configuración regional admitidos para obtener una lista completa de los mismos. |
HelpTopic |
Tema de Ayuda para abrir cuando el comando está activo y se pulsa F1. Nota: Para mostrar el tema de ayuda, se debe asignar un archivo de ayuda al módulo de extensión. La ubicación del archivo de ayuda para el módulo de extensión se especifica con el atributo HelpFile en el elemento ApplicationPackage.
|
StartupCommand |
Ejecuta el comando al inicio si se establece en verdadero. |
En el ejemplo siguiente, se añaden dos comandos definidos en un grupo denominado ADSKCMDS:
<Commands GroupName="ADSKCMDS"> <Command Global="HELLOWORLD" Local="ADSKHELLOWORLD"/> <Command Global="DRAWLINE" Local="ADSKDRAWLINE"/> </Commands>
El elemento AssemblyMappings es opcional y puede contener uno o varios elementos AssemblyMapping o AssemblyMappingFolder. Los elementos AssemblyMapping y AssemblyMappingFolder se utilizan para añadir archivos de ensamblaje y rutas de carpeta a listas internas con las que AutoCAD resuelve los ensamblajes que no se encuentran en la carpeta de instalación del producto.
Atributo |
Descripción |
---|---|
Name |
Nombre del elemento ComponentEntry con el que está asociado el ensamblaje y que debe cargarse. |
Path |
Ruta relativa al ensamblaje incluido en el paquete. |
Atributo |
Descripción |
---|---|
Path |
Ruta relativa a los ensamblajes incluidos en el paquete. |
En el siguiente ejemplo, se añaden dos carpetas que contienen ensamblajes utilizados por un componente:
<AssemblyMappings> <AssemblyMappingFolder Path="./Content/Assemblies" /> <AssemblyMappingFolder Path="./Content/MoreAssemblies" /> </AssemblyMappings>
El elemento RegistryEntries es opcional y puede contener uno o varios elementos RegistryEntry. El elemento RegistryEntry contiene la definición de una entrada del registro que debe crear o modificar el módulo de extensión. Las entradas del registro se almacenan en el Registro de Windows o en una lista de propiedades (PLIST) en Mac OS.
Atributo |
Descripción |
---|---|
Name |
El nombre de la entrada del registro que se va a crear o modificar. |
Value |
El valor que se asignará a la entrada del registro. El valor puede incluir uno de los prefijos de operador opcionales: +, -, & y |. Consulte la sección "Prefijos de operador de los valores de variables" para obtener más información. Nota: El prefijo de operador no se conserva cuando el valor se aplica a la entrada del registro.
|
Type |
El tipo de datos que se asignará a la entrada del registro. Opcional al modificar una entrada del registro existente. Los valores válidos son los siguientes:
Si se utiliza un prefijo de operador como parte del valor de la entrada del registro, debe especificarse el tipo de datos correspondiente. Si no se utiliza el tipo de datos correspondiente, la operación se tratará como una operación de cadena. |
Flags |
Opcional, indicadores de creación y modificación. Se pueden especificar varios indicadores; utilice una barra vertical para separar cada indicador. Se admiten los siguientes indicadores:
Nota: El indicador Open u OpenOnce debe utilizarse para modificar el valor de una entrada del registro.
|
En el ejemplo siguiente, se crea la clave del registro MYREGKEY y se suman los valores STRING y NUMBER:
<RegistryEntries> <RegistryEntry Key="MYREGKEY" Name="STRING" Value="Example" Type="REG_SZ" /> <RegistryEntry Key="MYREGKEY" Name="NUMBER" Value="123" Type="REG_DWORD" /> </RegistryEntries>
El elemento SystemVariables es opcional y puede contener uno o varios elementos SystemVariables. El elemento SystemVariable contiene la definición de una variable de sistema que debe crear o modificar el módulo de extensión.
Atributo |
Descripción |
---|---|
Name |
El nombre de la variable de sistema que se va a crear o modificar. |
Value |
El valor que se asignará a la variable. El valor puede incluir uno de los prefijos de operador opcionales: +, -, & y |. Consulte la sección "Prefijos de operador de los valores de variables" para obtener más información. Nota: El prefijo de operador no se conserva cuando el valor se aplica a la variable.
|
PrimaryType |
El tipo de datos que se asignará a la variable. Opcional al modificar una variable de sistema existente. Los valores válidos son los siguientes:
Si se utiliza un prefijo de operador como parte del valor de la variable, debe especificarse el tipo de datos correspondiente. Si no se utiliza el tipo de datos correspondiente, la operación se tratará como una operación de cadena. |
StorageType |
Ubicación de almacenamiento del valor de la variable, si se conserva. Opcional al modificar una variable de sistema existente. Los valores válidos son los siguientes:
|
Owner |
Opcional, nombre del servicio de AcRX. Se utiliza para establecer una variable de sistema como de solo lectura y para que solo la pueda modificar la aplicación que registra el nombre del servicio mediante acrxRegisterService(). |
Flags |
Opcional, indicadores de creación y modificación. Se pueden especificar varios indicadores; utilice una barra vertical para separar cada indicador. Se admiten los siguientes indicadores:
Nota: El indicador Open u OpenOnce debe utilizarse para modificar el valor de una variable.
|
En el ejemplo siguiente, se crea una variable de sistema denominada MYVARIABLE:
<SystemVariable Name="MYVARIABLE" PrimaryType="String" StorageType="User" Value="Example" Owner="" Flags="Create|DotIsEmpty|SpacesAllowed" />
En el ejemplo siguiente, se cambia el valor de la variable de sistema CURSORSIZE a 100 cuando se carga por primera vez el módulo de extensión:
<SystemVariable Name="CURSORSIZE" Value="100" Flags="OpenOnce" />
El elemento EnvironmentVariables es opcional y puede contener uno o varios elementos EnvironmentVariable. El elemento EnvironmentVariable contiene la definición de una variable de entorno que debe crear o modificar el módulo de extensión. Las variables de entorno se almacenan en el Registro de Windows o en una lista de propiedades (PLIST) en Mac OS.
Atributo |
Descripción |
---|---|
Name |
El nombre de la variable de entorno que se va a crear o modificar. |
Value |
El valor que se asignará a la variable. El valor puede incluir uno de los prefijos de operador opcionales: +, -, & y |. Consulte la sección "Prefijos de operador de los valores de variables" para obtener más información. Nota: El prefijo de operador no se conserva cuando el valor se aplica a la variable.
|
Type |
Opcional, el tipo de datos que representa Value. Los valores válidos son los siguientes:
Si se utiliza un prefijo de operador como parte del valor de la variable, debe especificarse el tipo de datos correspondiente. Si no se utiliza el tipo de datos correspondiente, la operación se tratará como una operación de cadena. |
Flags |
Opcional, indicadores de creación y modificación. Se pueden especificar varios indicadores; utilice una barra vertical para separar cada indicador. Se admiten los siguientes indicadores:
Nota: El indicador Open u OpenOnce debe utilizarse para modificar el valor de una variable.
|
En el ejemplo siguiente, se crean dos variables de entorno denominadas MYNUMVAR y MYSTRVAR:
<EnvironmentVariables> <EnvironmentVariable Name="MYNUMVAR" Value="123" /> <EnvironmentVariable Name="MYSTRVAR" Value="Example" /> </EnvironmentVariables>
Los prefijos de operador permiten modificar el valor de una variable una vez cargado el módulo de extensión. Puede añadir uno de los prefijos de operador enumerados en la tabla siguiente para el atributo Value del elemento RegistryEntry, SystemVariable o EnvironmentVariable.
Prefijo |
Descripción |
---|---|
+ (signo más) |
Suma o añade un valor al valor de una variable existente. Int16, Int32, real: suma Value al valor de una variable existente. String: suma Value al valor de una variable existente. |
- (guión) |
Resta o elimina un valor al valor de una variable existente. Int16, Int32, real: resta Value al valor de una variable existente. String: resta Value al valor de una variable existente. |
& (ampersand) |
Operación "AND" de tipo binario con el valor existente de la variable; solo se admiten valores numéricos. |
| (barra vertical) |
Operación "OR" de tipo binario con el valor existente de la variable; solo se admiten valores numéricos. |
Los siguientes elementos activan las referencias a objetos en ejecución END, MID, CEN, NOD, QUA e INT, y dejan todas las demás referencias a objetos "tal cual":
<SystemVariable Name="OSMODE" Value="|63" Flags="Open" />