Components 요소를 사용하여 단일 플러그인 버전을 구성하는 구성요소를 지정합니다.
두 개 이상의 Components 요소를 사용하여 플러그인의 구성요소를 식별할 수 있습니다. 각 Components 요소가 하나 이상의 구성요소를 식별할 수 있습니다. Components 요소의 플랫폼 및 제품 정보는 RuntimeRequirements 요소를 통해 정의됩니다.
Components 요소 내에 정의된 모든 구성요소가 동일한 플랫폼에 적용되는 경우 RuntimeRequirements 요소를 각 개별 ComponentEntry 요소에 추가할 필요가 없습니다.
Components 요소는 RuntimeRequirements 요소와 함께 다음 요소를 하나 이상 포함할 수 있습니다.
다음은 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 요소는 Commands 요소를 포함할 수 있습니다.
ComponentEntry 요소에는 다음과 같은 속성을 연결할 수 있습니다.
속성 |
설명 |
---|---|
AppName |
AutoLISP의 경우 선택이고 ObjectARX 및 .NET의 경우 필수입니다. 구성요소 이름으로, ObjectARX API AcadAppInfo 클래스의 AppName과 동일합니다. |
AppDescription |
구성요소 설명으로, ObjectARX API AcadAppInfo 클래스의 AppDescription과 동일합니다. |
AppType |
구성요소 유형으로, ModuleName 속성에서 제공되는 파일 확장자에서 파생된 유형을 재지정합니다. 구성요소 유형은 다음 중 하나일 수 있습니다.
|
ModuleName |
번들 내의 구성요소 상대 경로로, ObjectARX API AcadAppInfo 클래스의 ModuleName과 동일합니다. 구성요소 유형은 파일 확장자로 결정됩니다.
응용프로그램에서 여러 언어를 처리하는 경우에는 ModuleName을 로케일 코드와 결합하여 특정 구성요소를 여러 가지 버전으로 지정할 수 있습니다. 지원되는 로케일 코드의 전체 리스트는 지원되는 로케일 코드 참조를 참고하십시오. 주: 모든 경로 지정자는 '₩'가 아닌 '/'이며, 경로는 루트 .bundle 폴더를 기준으로 합니다.
|
PerDocument |
AutoLISP에만 해당 - True인 경우 AutoLISP 파일이 문서당 한 번 로드됩니다. 기본값은 True입니다. |
LoadReasons |
여러 값을 지정할 수 있습니다. LoadReasons가 포함된 구성요소에 대한 로드 동작 매개변수 및 LoadOnCommandInvocation 매개변수의 예외를 정의합니다. 기본적으로 LoadReasons를 지정하지 않으면 LoadOnAutoCADStartup, LoadOnAppearance 및 LoadOnProxy가 사용됩니다(True로 설정됨). 매개변수를 사용하지 않아야 하는 경우(False로 설정), 매개변수를 False로 설정한 상태로 LoadReasons 요소를 지정해야 합니다. 기본적으로 LoadOnCommandInvocation은 사용되지 않지만 사용되는 경우, LoadOnAutoCADStartup 및 LoadOnAppearance는 명시적으로 사용하도록 설정하지 않는 한 사용되지 않습니다. 하나 이상의 Command 요소가 Components 요소 일부로 정의되는 경우 LoadOnCommandInvocation이 암시적으로 사용됩니다. AcadAppInfo LoadReasons에 대한 전체 상세 정보는 ObjectARX 참조 안내서를 참고하십시오. 유효한 매개변수는 다음과 같습니다.
다음 매개변수를 사용할 수 있습니다.
|
XamlType |
XAML 유형입니다. 현재 유일하게 지원되는 값은 "ContextualTabRule"이고 XAML 파일이 ModuleName 속성에 지정된 경우 필요합니다. XAML 파일이 포함된 ComponentEntry 요소 뒤에 XAML 파일을 사용하는 응용프로그램 파일이 나열되어 있어야 합니다. |
RegistryEntries 요소는 선택적 요소이며 하나 이상의 RegistryEntry 요소를 포함할 수 있습니다. RegistryEntry 요소에는 플러그인에서 작성하거나 수정해야 하는 레지스트리 항목 정의가 포함되어 있습니다. 레지스트리 항목은 Windows 레지스트리 또는 Mac OS의 속성 목록(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 OS의 속성 목록(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: 값을 기존 변수 값에서 제거합니다. |
&(앰퍼샌드) |
변수의 기존 값으로 하는 Bitwise-and 연산으로 숫자 값만 지원됩니다. |
|(파이프 기호) |
변수의 기존 값으로 하는 Bitwise-or 연산으로 숫자 값만 지원됩니다. |
다음은 항상 객체 스냅을 실행하는 END, MID, CEN, NOD, QUA 및 INT를 사용하고 다른 모든 객체 스냅 설정을 그대로 둡니다.
<SystemVariable Name="OSMODE" Value="|63" Flags="Open" />
LoadReasons 속성에 대해 LoadOnCommandInvocation 매개변수를 사용하도록 설정한 경우가 아니면 Commands 요소는 선택적 요소입니다. LoadOnCommandInvocation에 대해 등록할 명령을 지정하는 데 사용됩니다.
필요한 경우 두 개 이상의 Command 요소를 지정할 수 있습니다.
Commands 요소에는 다음과 같은 속성을 연결할 수 있습니다.
속성 |
설명 |
---|---|
GroupName |
관련 명령을 구성하는 데 사용되는 이름입니다. |
각 명령의 전역 및 로컬 이름을 지정합니다.
Command 요소에는 다음과 같은 속성을 연결할 수 있습니다.
속성 |
설명 |
---|---|
전역 |
전역 명령 이름입니다. |
Local |
로컬 명령 이름입니다. Local을 로케일 코드와 결합하여 여러 언어에 대해 명령을 정의할 수 있습니다. 지원되는 로케일 코드의 전체 리스트는 지원되는 로케일 코드 참조를 참고하십시오. |
HelpTopic |
명령이 활성화되고 F1 키를 누르면 열리는 도움말 항목입니다. 주: 도움말 항목을 표시하려면 플러그인에 도움말 파일을 지정해야 합니다. 플러그인의 도움말 파일 위치는 ApplicationPackage 요소 아래에 있는 HelpFile 속성을 사용하여 지정합니다.
|
StartupCommand |
True인 경우 명령을 실행합니다. |