비고
커뮤니티 관심 그룹은 이제 Yammer에서 Microsoft Viva Engage로 이동했습니다. Viva Engage 커뮤니티에 가입하고 최신 토론에 참여하려면 Finance and Operations Viva Engage Community 양식에 대한 요청 액세스 권한을 작성하고 참여하려는 커뮤니티를 선택합니다.
X++는 ERP(엔터프라이즈 리소스 계획) 프로그래밍 및 데이터베이스 애플리케이션에서 사용되는 개체 지향, 애플리케이션 인식 및 데이터 인식 프로그래밍 언어입니다. 다음 표에서 강조 표시된 광범위한 시스템 프로그래밍 영역에 대한 시스템 클래스를 제공합니다.
| X++ 언어 기능 | Description |
|---|---|
| 수업 | 시스템 클래스 외에도 다양한 유형의 비즈니스 프로세스를 관리하기 위한 애플리케이션 클래스도 있습니다. 클래스에 대한 리플렉션이 지원됩니다. |
| Tables | X++ 프로그래머는 관계형 테이블에 액세스할 수 있습니다. X++에는 표준 SQL의 대부분의 키워드와 일치하는 키워드가 포함되어 있습니다. 테이블에 대한 리플렉션이 지원됩니다. |
| 사용자 인터페이스 | 양식 및 보고서와 같은 사용자 인터페이스 항목 조작 |
| 모범 사례 검사 | X++ 코드는 컴파일 시간 동안 구문 오류가 있는지 확인합니다. 컴파일 프로세스는 모범 사례 검사도 수행합니다. 모범 사례를 위반하면 컴파일러 메시지가 생성됩니다. |
| 가비지 수집 | X++ 런타임 실행 엔진에는 메모리 공간을 다시 사용할 수 있도록 더 이상 참조되지 않는 개체를 삭제하는 자동 메커니즘이 있습니다. |
| 상호 운용성 | X++와 C#(또는 기타 .NET Framework 언어)로 작성된 클래스 간의 상호 운용성이 지원됩니다. |
| 파일 조작 | XML 빌드 및 구문 분석을 포함하여 파일 입력 및 출력이 지원됩니다. |
| Collections | 동적 배열이 지원되며 X++에는 여러 컬렉션 개체가 포함됩니다. |
X++는 Microsoft .NET CIL(공용 중간 언어)로 컴파일됩니다.
X++ 소스 코드는 Microsoft .NET CIL(공용 중간 언어)로 컴파일됩니다. CIL은 C# 및 Visual Basic용 .NET 컴파일러가 생성하는 것입니다. CIL로 컴파일할 때의 이점은 다음과 같습니다.
- 코드는 이전 버전(AX2012 및 이전 버전)보다 훨씬 빠르게 실행됩니다.
- 다른 관리되는 언어로 애플리케이션 논리를 작성하고 해당 논리를 X++ 앱에 통합하는 것이 더 쉽습니다.
- X++ 앱은 다른 .NET 어셈블리 DLL 파일에서 사용할 수 있는 클래스를 효율적으로 참조할 수 있습니다.
- CIL은 많은 .NET 도구에서 작동할 수 있습니다.
표준 컴파일 단위는 다른 .NET 언어와 동일합니다. 모델 요소의 메서드(예: 클래스, 폼 또는 쿼리)가 컴파일되지 않으면 전체 컴파일이 실패합니다.
이전 버전(AX2012 및 이전 버전)에서 코드를 업그레이드하는 경우 CIL 도우미 메서드 Global::runClassMethodIL 는 더 이상 관련이 없으므로 제거되었습니다.
자세한 내용은 "관리 코드"란?을 참조하세요.
무시 목록
어셈블리는 성공적인 컴파일에서 생성되며 런타임 시스템은 불완전한 어셈블리를 로드할 수 없습니다. 레거시 애플리케이션을 포팅할 때 스테이징된 방식으로 실행하는 것이 유익하고 모든 것이 포팅되기 전에 애플리케이션의 일부를 테스트해야 하는 시나리오가 있습니다. 이는 매우 제한된 이 시나리오에 유용하지만, 시스템이 배포된 후 런타임에 발생할 문제를 숨기므로 애플리케이션이 프로덕션 준비가 되면 사용하지 않아야 합니다. X++ 코드의 일부를 무시하려면 프로젝트의 상황에 맞는 메뉴에서 "모범 사례 표시 안 함 편집"을 선택하여 XML에서 메서드를 지정할 수 있습니다. 그러면 제외가 유지되는 XML 문서가 열립니다.
개념들
X++ 언어 프로그래밍 참조는 다음 섹션으로 나뉩니다.