Element Components umożliwia określenie składników, które są zawarte w danej wersji wtyczki.
Składniki wtyczki mogą być określone przy użyciu więcej niż jednego elementu Components, przy czym każdy element Components może wskazywać jeden lub więcej składników. Informacje o platformie i produkcie dla elementu Components są definiowane przez element RuntimeRequirements.
Jeśli wszystkie komponenty zdefiniowane w obrębie elementu Components są stosowane do tej samej platformy, nie trzeba dodawać elementu RuntimeRequirements do każdego elementu ComponentEntry oddzielnie.
Oprócz elementu RuntimeRequirements, element Components może zawierać jeden lub kilka następujących elementów
Poniżej opisano podstawowe zależności między elementem Components i wszystkimi elementami, które może zawierać.
<Components> <RuntimeRequirements ... /> <RegistryEntries> <RegistryEntry ... /> </RegistryEntries> <SystemVariables> <SystemVariable ... /> </SystemVariables> <EnvironmentVariables> <EnvironmentVariable ... /> </EnvironmentVariables> <ComponentEntry ... > <RuntimeRequirements ... /> <AssemblyMappings> <AssemblyMapping ... /> <AssemblyMappingFolder ... /> </AssemblyMappings> <Commands ...> <Command ... /> </Commands> </ComponentEntry> <ComponentEntry ... /> </Components>
Element ComponentEntry jest elementem wymaganym i służy do określania szczegółów dotyczących każdego składnika w elemencie Components.
Można określić dowolną liczbę elementów ComponentEntry. Typy składników mogą mieć jeden z następujących formatów plików:
Windows i Mac OS
Tylko system Windows
Element ComponentEntry może zawierać element Commands, jeśli dla atrybutu LoadReasons ustawiono wartość LoadOnCommandInvocation.
Do elementu ComponentEntry może być dołączony dowolny z następujących atrybutów:
Atrybut |
Opis |
---|---|
AppName |
Opcjonalny dla obiektu AutoLISP; wymagany dla obiektów ObjectARX i .NET. Nazwa składnika tożsama z atrybutem AppName w klasie AcadAppInfo interfejsu API ObjectARX. |
AppDescription |
Opis składnika tożsamy z atrybutem AppDescription w klasie AcadAppInfo interfejsu API ObjectARX. |
AppType |
Typ składnika. Zastępuje typ określony na podstawie rozszerzenia pliku w atrybucie ModuleName. Dostępne są następujące typy składników:
|
ModuleName |
Ścieżka względna do komponentu pakietu tożsama z atrybutem ModuleName w klasie AcadAppInfo interfejsu API ObjectARX. Typ składnika jest określany na podstawie rozszerzenia pliku:
Jeśli aplikacja będzie obsługiwać wiele języków, można określić różne wersje określonego komponentu przez dołączenie do atrybutu ModuleName kodu regionalnego. Zobacz sekcję Obsługiwane kody regionalne, aby uzyskać pełną listę obsługiwanych kodów regionalnych. Uwaga: Wszystkie ścieżki są określane przy użyciu znaków „/” (a nie znaków „\”) i są względne w stosunku do głównego folderu .bundle.
|
PerDocument |
Tylko dla modułu AutoLISP — gdy jest ustawiona wartość True, plik AutoLISP jest wczytywany jednokrotnie dla każdego dokumentu. Domyślną wartością jest wartość True. |
LoadReasons |
Umożliwia określenie wielu wartości. Definiuje parametry sposobu wczytywania składnika z atrybutem LoadReasons i wyjątek parametru LoadOnCommandInvocation. Domyślnie atrybuty LoadOnAutoCADStartup, LoadOnAppearance i LoadOnProxy są włączone (jest ustawiona wartość True), gdy wartość atrybutu LoadReasons nie jest określona. Jeśli parametry muszą być wyłączone (mieć ustawioną wartość False), należy określić element LoadReasons i ustawić dla parametrów wartość False. Domyślnie parametr LoadOnCommandInvocation jest wyłączony, a włączenie go spowoduje wyłączenie parametrów LoadOnAutoCADStartup i LoadOnAppearance, o ile nie zostały one włączone jawnie. Zdefiniowanie co najmniej jednego elementu Polecenie jako części elementu Komponent spowoduje niejawne włączenie parametru LoadOnCommandInvocation. Zobacz instrukcję obsługi modułu ObjectARX, aby uzyskać pełne informacje na temat atrybutu LoadReasons (AcadAppInfo). Poprawne wartości parametrów:
Dostępne są następujące parametry:
|
XamlType |
Typ XAML; jedyna obecnie obsługiwana wartość to „ContextualTabRule” i jest ona wymagana, jeśli plik XAML jest przypisany do atrybutu ModuleName. Plik aplikacji, który używa pliku XAML, powinien być wyświetlany po elemencie ComponentEntry zawierającym plik XAML. |
Element Commands jest opcjonalny, chyba że dla atrybutu LoadReasons włączono parametr LoadOnCommandInvocation. Służy on do określania, które polecenia mają zostać zarejestrowane dla parametru LoadOnCommandInvocation.
W razie potrzeby można określić więcej niż jeden element Command.
Do elementu Commands może być dołączony następujący atrybut:
Atrybut |
Opis |
---|---|
GroupName |
Nazwa używana do organizowania powiązanych poleceń. |
Określa nazwę globalną i lokalną każdego polecenia.
Do elementu Command może być dołączony dowolny z następujących atrybutów:
Atrybut |
Opis |
---|---|
Global |
Nazwa globalna polecenia. |
Local |
Nazwa lokalna polecenia. Aby zdefiniować element Commands dla wielu języków, należy dołączyć do niego kod regionalny. Zobacz sekcję Obsługiwane kody regionalne, aby uzyskać pełną listę obsługiwanych kodów regionalnych. |
HelpTopic |
Temat pomocy, który można otworzyć, gdy polecenie jest aktywne i jest wciśnięty klawisz F1. Uwaga: Aby można było wyświetlić temat pomocy, do wtyczki musi być przypisany plik pomocy. Położenie pliku pomocy dla wtyczki jest określone przez atrybut HelpFile w elemencie ApplicationPackage.
|
StartupCommand |
Umożliwia wykonanie polecenia przy uruchomieniu, gdy jest ustawiona wartość True. |
W poniższym przykładzie dodano dwa polecenia, które są zdefiniowane w grupie o nazwie ADSKCMDS:
<Commands GroupName="ADSKCMDS"> <Command Global="HELLOWORLD" Local="ADSKHELLOWORLD"/> <Command Global="DRAWLINE" Local="ADSKDRAWLINE"/> </Commands>
Element AssemblyMappings jest opcjonalny i może zawierać jeden lub więcej elementów AssemblyMapping lub AssemblyMappingFolder. Elementy AssemblyMapping i AssemblyMappingFolder służą do dodawania plików zespołów i ścieżek folderów do wewnętrznych list, używanych przez oprogramowanie AutoCAD do rozwiązywania zespołów, których nie ma w folderze instalacyjnym produktu.
Atrybut |
Opis |
---|---|
Name |
Nazwa elementu ComponentEntry, z którym jest skojarzony zespół i z którą powinien zostać wczytany. |
Path |
Względna ścieżka do zespołu w pakiecie. |
Atrybut |
Opis |
---|---|
Path |
Względna ścieżka do zespołów w pakiecie. |
W poniższym przykładzie dodano dwa foldery, które zawierają zespoły używane przez komponent:
<AssemblyMappings> <AssemblyMappingFolder Path="./Content/Assemblies" /> <AssemblyMappingFolder Path="./Content/MoreAssemblies" /> </AssemblyMappings>
Element RegistryEntries jest opcjonalny i może zawierać jeden lub kilka elementów RegistryEntry. Element RegistryEntry zawiera definicję wpisu rejestru, który wtyczka ma utworzyć lub zmodyfikować. Wpisy rejestru są zapisywane w rejestrze systemu Windows lub w pliku listy właściwości (PLIST) w systemie Mac OS.
Atrybut |
Opis |
---|---|
Name |
Nazwa wpisu rejestru, który ma zostać utworzony lub zmodyfikowany. |
Value |
Wartość przypisywana do wpisu rejestru. Wartość może zawierać jeden z opcjonalnych przedrostków operatora: +, -, & i |. Więcej informacji zawiera sekcja „Przedrostki operatorów wartości zmiennych”. Uwaga: Przedrostek operatora nie zostaje zachowany po zastosowaniu wartości do wpisu rejestru.
|
Type |
Typ danych przypisywany do wpisu rejestru. Opcjonalnie podczas modyfikowania istniejącego wpisu rejestru. Dopuszczalne wartości to:
Jeśli przedrostek operatora jest używany jako część wartości wpisu rejestru, musi zostać określony odpowiedni typ danych. Jeśli odpowiedni typ danych nie zostanie użyty, operacja będzie traktowana jako operacja na ciągach. |
Flags |
Opcjonalnie znaczniki tworzenia i modyfikacji. Można określić wiele znaczników; jako separatora należy użyć symbolu potoku. Obsługiwane są następujące znaczniki:
Uwaga: Znacznik Open lub OpenOnce musi zostać użyty, aby zmodyfikować wartość wpisu rejestru.
|
Poniższy przykład tworzy klucz rejestru MYREGKEY i dodaje wartości STRING oraz NUMBER:
<RegistryEntries> <RegistryEntry Key="MYREGKEY" Name="STRING" Value="Example" Type="REG_SZ" /> <RegistryEntry Key="MYREGKEY" Name="NUMBER" Value="123" Type="REG_DWORD" /> </RegistryEntries>
Element SystemVariables jest opcjonalny i może zawierać jeden lub kilka elementów SystemVariables. Element SystemVariable zawiera definicję zmiennej systemowej, którą wtyczka ma utworzyć lub zmodyfikować.
Atrybut |
Opis |
---|---|
Name |
Nazwa zmiennej systemowej, która ma zostać utworzona lub zmodyfikowana. |
Value |
Wartość do przypisania do zmiennej. Wartość może zawierać jeden z opcjonalnych przedrostków operatora: +, -, & i |. Więcej informacji zawiera sekcja „Przedrostki operatorów wartości zmiennych”. Uwaga: Przedrostek operatora nie zostaje zachowany po zastosowaniu wartości do zmiennej.
|
PrimaryType |
Typ danych do przypisania do zmiennej. Opcjonalny w przypadku modyfikowania istniejącej zmiennej systemowej. Dopuszczalne wartości to:
Jeśli przedrostek operatora jest używany jako część wartości zmiennej, musi zostać określony odpowiedni typ danych. Jeśli odpowiedni typ danych nie zostanie użyty, operacja będzie traktowana jako operacja na ciągach. |
StorageType |
Miejsce przechowywania wartości zmiennej; po utrwaleniu. Opcjonalny w przypadku modyfikowania istniejącej zmiennej systemowej. Dopuszczalne wartości to:
|
Owner |
Opcjonalnie nazwa usługi AcRX. Służy do nadania zmiennej systemowej atrybutu tylko do odczytu i umożliwia jej modyfikowanie tylko przez aplikację, która rejestruje nazwę usługi przy użyciu funkcji acrxRegisterService (). |
Flags |
Opcjonalnie znaczniki tworzenia i modyfikacji. Można określić wiele znaczników; jako separatora należy użyć symbolu potoku. Obsługiwane są następujące znaczniki:
Uwaga: Znacznik Open lub OpenOnce musi zostać użyty, aby zmodyfikować wartość zmiennej.
|
W poniższym przykładzie jest tworzona zmienna systemowa o nazwie MYVARIABLE:
<SystemVariable Name="MYVARIABLE" PrimaryType="String" StorageType="User" Value="Example" Owner="" Flags="Create|DotIsEmpty|SpacesAllowed" />
W poniższym przykładzie wartość zmiennej systemowej CURSORSIZE jest zmieniana na 100, gdy wtyczka jest wczytywana po raz pierwszy:
<SystemVariable Name="CURSORSIZE" Value="100" Flags="OpenOnce" />
Element EnvironmentVariables jest opcjonalny i może zawierać jeden lub kilka elementów EnvironmentVariable. Element EnvironmentVariable zawiera definicję zmiennej systemowej, którą wtyczka ma utworzyć lub zmodyfikować. Zmienne środowiskowe są przechowywane w rejestrze systemu Windows lub w pliku listy właściwości (PLIST) w systemie Mac OS.
Atrybut |
Opis |
---|---|
Name |
Nazwa zmiennej środowiskowej, która ma zostać utworzona lub zmodyfikowana. |
Value |
Wartość do przypisania do zmiennej. Wartość może zawierać jeden z opcjonalnych przedrostków operatora: +, -, & i |. Więcej informacji zawiera sekcja „Przedrostki operatorów wartości zmiennych”. Uwaga: Przedrostek operatora nie zostaje zachowany po zastosowaniu wartości do zmiennej.
|
Type |
Opcjonalnie typ danych reprezentowany przez atrybut Value. Dopuszczalne wartości to:
Jeśli przedrostek operatora jest używany jako część wartości zmiennej, musi zostać określony odpowiedni typ danych. Jeśli odpowiedni typ danych nie zostanie użyty, operacja będzie traktowana jako operacja na ciągach. |
Flags |
Opcjonalnie znaczniki tworzenia i modyfikacji. Można określić wiele znaczników; jako separatora należy użyć symbolu potoku. Obsługiwane są następujące znaczniki:
Uwaga: Znacznik Open lub OpenOnce musi zostać użyty, aby zmodyfikować wartość zmiennej.
|
Poniżej przedstawiono przykład tworzenia dwóch zmiennych środowiskowych o nazwach MYNUMVAR i MYSTRVAR:
<EnvironmentVariables> <EnvironmentVariable Name="MYNUMVAR" Value="123" /> <EnvironmentVariable Name="MYSTRVAR" Value="Example" /> </EnvironmentVariables>
Przedrostki operatora służą do modyfikowania bieżącej wartości zmiennej podczas wczytywania wtyczki. Użytkownik może dodać jeden z przedrostków operatora wymienionych w poniższej tabeli do wartości atrybutu Value elementu RegistryEntry, SystemVariable lub EnvironmentVariable.
Przedrostek |
Opis |
---|---|
+ (znak plus) |
Dodaje lub dołącza wartość do istniejącej wartości zmiennej. Int16, Int32, Real: Dodaje atrybut Value do istniejącej zmiennej. String: Dołącza atrybut Value do istniejącej zmiennej. |
- (myślnik) |
Odejmuje lub usuwa wartość z istniejącej wartości zmiennej. Int16, Int32, Real: Odejmuje atrybut Value od istniejącej zmiennej. String: Usuwa atrybut Value z istniejącej zmiennej. |
& (ampersand) |
Bitowa operacja AND z istniejącą wartością zmiennej; obsługiwane są tylko wartości liczbowe. |
| (symbol potoku) |
Bitowa operacja or z istniejącą wartością zmiennej; obsługiwane są tylko wartości liczbowe. |
Poniższe ustawienia zawsze włączają stałe tryby lokalizacji END, MID, CEN, NOD, QUA i INT oraz pozostawiają pozostałe ustawienia lokalizacji względem obiektu bez zmian:
<SystemVariable Name="OSMODE" Value="|63" Flags="Open" />