Das Components-Element wird verwendet, um die Komponenten anzugeben, aus denen eine Version des Plugins besteht.
Mehrere Components-Elemente können verwendet werden, um die Komponenten für ein Plugin anzugeben; jedes Components-Element kann eine oder mehrere Komponenten angeben. Plattform- und Produktinformationen für ein Components-Element werden durch das RuntimeRequirements-Element definiert.
Wenn alle innerhalb eines Components-Elements definierten Komponenten für dieselbe Plattform gelten, ist es nicht erforderlich, jedem ComponentEntry-Element ein RuntimeRequirements-Element hinzuzufügen.
Zusammen mit dem RuntimeRequirements-Element kann das Components-Element eines oder mehrere der folgenden Elemente enthalten.
Nachfolgend werden die grundlegenden Beziehungen zwischen dem Components-Element und den Elementen dargestellt, die es enthalten kann.
<Components> <RuntimeRequirements ... /> <RegistryEntries> <RegistryEntry ... /> </RegistryEntries> <SystemVariables> <SystemVariable ... /> </SystemVariables> <EnvironmentVariables> <EnvironmentVariable ... /> </EnvironmentVariables> <ComponentEntry ... > <RuntimeRequirements ... /> <AssemblyMappings> <AssemblyMapping ... /> <AssemblyMappingFolder ... /> </AssemblyMappings> <Commands ...> <Command ... /> </Commands> </ComponentEntry> <ComponentEntry ... /> </Components>
Das ComponentEntry-Element ist erforderlich und wird verwendet, um Details über die einzelnen Komponenten im Components-Element anzugeben.
Sie können so viele ComponentEntry-Elemente wie nötig angeben. Zu den Komponenten-Typen gehören folgende Dateiformate:
Windows und Mac OS
Nur Windows
Ein ComponentEntry-Element kann ein Commands-Element enthalten, wenn das LoadReasons-Attribut auf LoadOnCommandInvocation gesetzt ist.
Ein ComponentEntry-Element kann mit beliebig vielen der folgenden Attribute verknüpft sein:
Attribut |
Beschreibung |
---|---|
AppName |
Optional für AutoLISP; erforderlich für ObjectARX und .NET - Komponentenname; entspricht AppName in der ObjectARX API AcadAppInfo-Klasse. |
AppDescription |
Komponentenbeschreibung; entspricht AppDescription in der ObjectARX API AcadAppInfo-Klasse. |
AppType |
Komponententyp; überschreibt den Typ, der von der Dateierweiterung abgeleitet wird, die im Attribut ModuleName bereitgestellt wird. Beim Komponententyp kann es sich um einen der Folgenden handeln:
|
ModuleName |
Relativer Pfad zur Komponente innerhalb des Pakets; entspricht ModuleName in der ObjectARX API AcadAppInfo-Klasse. Der Komponenten-Typ wird durch die Dateierweiterung ermittelt:
Wenn Ihre Anwendung mehrere Sprachen unterstützt, können unterschiedliche Versionen einer bestimmten Komponente angegeben werden, indem ModuleName mit einem Ländercode kombiniert wird. Eine vollständige Liste der unterstützten Ländercodes finden Sie unter "Unterstützte Ländercodes - Referenz". Anmerkung: Alle Pfad-Spezifikationssymbole lauten / und nicht \ und Pfade sind relativ zum .bundle-Stammordner.
|
PerDocument |
Nur AutoLISP - Wenn Wahr, wird die AutoLISP-Datei einmal pro Dokument geladen. Der Vorgabewert ist Wahr. |
Loadreasons |
Mehrere Werte können angegeben werden - Definiert die Parameter des Ladeverhaltens für die Komponente mit LoadReasons sowie die Ausnahme des Parameters LoadOnCommandInvocation. Vorgabemäßig sind LoadOnAutoCADStartup, LoadOnAppearance und LoadOnProxy aktiviert (auf True gesetzt), wenn LoadReasons nicht angegeben ist. Wenn die Parameter deaktiviert werden (auf False gesetzt), muss das LoadReasons-Element zusammen mit den auf False gesetzten Parametern angegeben werden. Vorgabemäßig ist LoadOnCommandInvocation deaktiviert. Wenn dieser Parameter aktiviert wird, werden LoadOnAutoCADStartup und LoadOnAppearance deaktiviert, sofern sie nicht ausdrücklich aktiviert werden. Wenn eines oder mehrere Befehlselemente als Teil des Komponentenelements definiert sind, ist LoadOnCommandInvocation implizit aktiviert. Weitere Informationen zu AcadAppInfo LoadReasons finden Sie im ObjectARX Reference Guide. Gültige Parameterwerte:
Die folgenden Parameter sind verfügbar:
|
XamlType |
XAML-Typ; derzeit wird nur der Wert ContextualTabRule unterstützt, der erforderlich ist, wenn eine XAML-Datei dem Attribut ModuleName zugewiesen wird. Die Anwendungsdatei, die die XAML-Datei verwendet, sollte nach dem ComponentEntry-Element mit der XAML-Datei aufgeführt werden. |
Das Commands-Element ist optional, es sei denn, der LoadOnCommandInvocation-Parameter ist für das LoadReasons-Attribut aktiviert. Wird zur Angabe der Befehle verwendet, die für LoadOnCommandInvocation registriert werden sollen.
Sie können so viele Command-Elemente wie nötig angeben.
Einem Commands-Element können folgende Attribute zugeordnet sein:
Attribut |
Beschreibung |
---|---|
GroupName |
Name, der verwendet wird, um zugehörige Befehle zu organisieren. |
Legt den globalen und lokalen Namen für jeden Befehl fest.
Einem Command-Element können beliebig viele der folgenden Attribute zugeordnet sein:
Attribut |
Beschreibung |
---|---|
Global |
Globaler Befehlsname. |
Local |
Lokaler Befehlsname. Befehle können für mehrere Sprachen definiert werden, indem Local mit einem Ländercode kombiniert wird. Eine vollständige Liste der unterstützten Ländercodes finden Sie unter "Unterstützte Ländercodes - Referenz". |
HelpTopic |
Hilfethema, das geöffnet wird, wenn der Befehl aktiv ist und die Taste F1 gedrückt wird. Anmerkung: Damit das Hilfethema angezeigt wird, muss dem Plugin eine Hilfedatei zugewiesen sein. Der Speicherort der Hilfedatei für das Plugin wird unter dem ApplicationPackage-Element mit dem Attribut HelpFile angegeben.
|
StartupCommand |
Führt den Befehl beim Start aus, wenn wahr. |
Im folgenden Beispiel werden zwei Befehle hinzugefügt, die in einer Gruppe namens ADSKCMDS definiert sind:
<Commands GroupName="ADSKCMDS"> <Command Global="HELLOWORLD" Local="ADSKHELLOWORLD"/> <Command Global="DRAWLINE" Local="ADSKDRAWLINE"/> </Commands>
Das AssemblyMappings-Element ist optional und kann eines oder mehrere AssemblyMappings- bzw. AssemblyMappingFolder-Elemente enthalten. AssemblyMapping- und AssemblyMappingFolder-Elemente werden verwendet, um Baugruppendateien und Ordnerpfade zu internen Listen hinzuzufügen, die von AutoCAD zum Auflösen von Baugruppen verwendet werden, die sich nicht im Installationsordner des Produkts befinden.
Attribut |
Beschreibung |
---|---|
Name |
Name des ComponentEntry-Elements, mit dem die Baugruppe verknüpft ist und mit dem sie geladen werden soll. |
Path |
Relativer Pfad zur Baugruppe innerhalb des Pakets. |
Attribut |
Beschreibung |
---|---|
Path |
Relativer Pfad zu den Baugruppen innerhalb des Pakets. |
Im folgenden Beispiel werden zwei Ordner hinzugefügt, die Baugruppen enthalten, die von einer Komponente verwendet werden:
<AssemblyMappings> <AssemblyMappingFolder Path="./Content/Assemblies" /> <AssemblyMappingFolder Path="./Content/MoreAssemblies" /> </AssemblyMappings>
Das RegistryEntries-Element ist optional und kann eines oder mehrere RegistryEntry-Elemente enthalten. Ein RegistryEntry-Element enthält die Definition eines Registrierungseintrags, den das Plugin erstellen oder ändern soll. Registrierungseinträge werden in der Windows-Registrierung oder in einer Eigenschaftenliste (PLIST) unter Mac OS gespeichert.
Attribut |
Beschreibung |
---|---|
Name |
Name der Registrierungseintrags, der erstellt oder geändert werden soll. |
Value |
Wert, der dem Registrierungseintrag zugeordnet werden soll. Der Wert kann eines der optionalen Operator-Präfixe enthalten: +, -, & und |. Weitere Informationen finden Sie im Abschnitt Operator-Präfixe für Variablenwert. Anmerkung: Das Operator-Präfix wird nicht beibehalten, wenn der Wert auf den Registrierungseintrag angewendet wird.
|
Type |
Der Datentyp, der dem Registrierungseintrag zugeordnet werden soll. Beim Ändern eines vorhandenen Registrierungseintrags optional. Gültige Werte sind:
Wenn ein Operator-Präfix als Teil der Registrierungseintrags verwendet wird, muss der entsprechende Datentyp angegeben werden. Wenn die entsprechende Datentyp nicht verwendet wird, wird der Vorgang wird als Zeichenfolge-Operation behandelt. |
Flags |
Optional, Flags für Erstellen und Ändern. Mehrere Flags können angegeben werden; verwenden Sie einen senkrechten Strich (Pipe-Symbol), um die Flags voneinander zu trennen. Die folgenden Flags werden unterstützt:
Anmerkung: Das Flag Open oder OpenOnce muss verwendet werden, um den Wert eines Registrierungseintrags zu ändern.
|
Im folgenden Beispiel wird die Registrierungsschlüssel MYREGKEY erstellt und die Werte STRING und NUMBER werden hinzugefügt:
<RegistryEntries> <RegistryEntry Key="MYREGKEY" Name="STRING" Value="Example" Type="REG_SZ" /> <RegistryEntry Key="MYREGKEY" Name="NUMBER" Value="123" Type="REG_DWORD" /> </RegistryEntries>
Das SystemVariables-Element ist optional und kann ein oder mehrere SystemVariables-Elemente enthalten. Ein SystemVariables-Element enthält die Definition einer Systemvariablen, die das Plugin erstellen oder ändern soll.
Attribut |
Beschreibung |
---|---|
Name |
Name der Systemvariablen, die erstellt oder geändert werden soll. |
Value |
Wert, der der Variable zugeordnet werden soll. Der Wert kann eines der optionalen Operator-Präfixe enthalten: +, -, & und |. Weitere Informationen finden Sie im Abschnitt Operator-Präfixe für Variablenwert. Anmerkung: Das Operator-Präfix wird nicht beibehalten, wenn der Wert auf die Variable angewendet wird.
|
PrimaryType |
Der Datentyp, der der Variable zugeordnet werden soll. Optional beim Ändern einer vorhandenen Systemvariable. Gültige Werte sind:
Wenn ein Operator-Präfix als Teil des Variablenwerts verwendet wird, muss der entsprechende Datentyp angegeben werden. Wenn die entsprechende Datentyp nicht verwendet wird, wird der Vorgang wird als Zeichenfolge-Operation behandelt. |
StorageType |
Speicherort für den Wert der Variablen; wenn beibehalten. . Optional beim Ändern einer vorhandenen Systemvariable. Gültige Werte sind:
|
Owner |
Optional, AcRX Service Name. Wird verwendet, um Schreibschutz für eine Systemvariable festzulegen, sodass sie nur durch die Anwendung geändert werden kann, die den Service Name mit acrxRegisterService() registriert. |
Flags |
Optional, Flags für Erstellen und Ändern. Mehrere Flags können angegeben werden; verwenden Sie einen senkrechten Strich (Pipe-Symbol), um die Flags voneinander zu trennen. Die folgenden Flags werden unterstützt:
Anmerkung: Das Flag Open oder OpenOnce muss verwendet werden, um den Wert einer Variablen zu ändern.
|
Im folgenden Beispiel wird eine benannte Systemvariable MYVARIABLE erstellt:
<SystemVariable Name="MYVARIABLE" PrimaryType="String" StorageType="User" Value="Example" Owner="" Flags="Create|DotIsEmpty|SpacesAllowed" />
Im folgenden Beispiel wird der Wert der Systemvariable CURSORSIZE in 100 geändert, wenn das Plugin zum ersten Mal geladen wird:
<SystemVariable Name="CURSORSIZE" Value="100" Flags="OpenOnce" />
Das EnvironmentVariables-Element ist optional und kann ein oder mehrere EnvironmentVariable-Elemente enthalten. Ein EnvironmentVariable-Element enthält die Definition einer Umgebungsvariablen, die das Plugin erstellen oder ändern soll. Umgebungsvariablen werden in der Windows-Registrierung oder in einer Eigenschaftenliste (PLIST) unter Mac OS gespeichert.
Attribut |
Beschreibung |
---|---|
Name |
Name der Umgebungsvariablen, die erstellt oder geändert werden soll. |
Value |
Wert, der der Variable zugeordnet werden soll. Der Wert kann eines der optionalen Operator-Präfixe enthalten: +, -, & und |. Weitere Informationen finden Sie im Abschnitt Operator-Präfixe für Variablenwert. Anmerkung: Das Operator-Präfix wird nicht beibehalten, wenn der Wert auf die Variable angewendet wird.
|
Type |
Optional, Datentyp, den Wert darstellt. Gültige Werte sind:
Wenn ein Operator-Präfix als Teil des Variablenwerts verwendet wird, muss der entsprechende Datentyp angegeben werden. Wenn die entsprechende Datentyp nicht verwendet wird, wird der Vorgang wird als Zeichenfolge-Operation behandelt. |
Flags |
Optional, Flags für Erstellen und Ändern. Mehrere Flags können angegeben werden; verwenden Sie einen senkrechten Strich (Pipe-Symbol), um die Flags voneinander zu trennen. Die folgenden Flags werden unterstützt:
Anmerkung: Das Flag Open oder OpenOnce muss verwendet werden, um den Wert einer Variablen zu ändern.
|
Im folgenden Beispiel werden zwei benannte Umgebungsvariablen namens MYNUMVAR und MYSTRVAR erstellt:
<EnvironmentVariables> <EnvironmentVariable Name="MYNUMVAR" Value="123" /> <EnvironmentVariable Name="MYSTRVAR" Value="Example" /> </EnvironmentVariables>
Operator-Präfixe werden verwendet, um den aktuellen Wert einer Variablen zu ändern, wenn das Plugin geladen wird. Sie können eines der in der folgenden Tabelle aufgeführten Operator-Präfixe dem Wertattribut eines RegistryEntry-, SystemVariable- oder EnvironmentVariable-Element hinzufügen.
Präfix |
Beschreibung |
---|---|
+ (Pluszeichen) |
Addiert einen Wert zu einem vorhandenen Variablenwert oder hängt einen Wert an. Int16, Int32, Real: Addiert den Wert zu einem vorhandenen Variablenwert. String: Hängt den Wert an einen vorhandenen Variablenwert an. |
- (Bindestrich) |
Subtrahiert oder entfernt einen Wert von einem vorhandenen Variablenwert. Int16, Int32, Real: Subtrahiert den Wert von einem vorhandenen Variablenwert. String: Entfernt den Wert aus einem vorhandenen Variablenwert. |
& (Ampersand-Zeichen) |
Bitwise UND-Operation mit den vorhandenen Wert der Variablen; nur numerische Werte werden unterstützt. |
| (Senkrechter Strich) |
Bitwise ODER-Operation mit den vorhandenen Wert der Variablen; nur numerische Werte werden unterstützt. |
Das Folgende aktiviert immer die Objektfangmodi END, MID, CEN, NOD, QUA und INT und lässt alle anderen Objektfang-Einstellungen auf dem vorhandenen Wert:
<SystemVariable Name="OSMODE" Value="|63" Flags="Open" />