Freigeben über


Sprachreferenz für X++

Hinweis

Community-Interessensgruppen sind jetzt von Yammer zu Microsoft Viva Engage gewechselt. Um an einer Viva Engage-Community teilzunehmen und an den neuesten Diskussionen teilzunehmen, füllen Sie das Formular "Anfordern des Zugriffs auf Finance and Operations Viva Engage Community" aus , und wählen Sie die Community aus, der Sie beitreten möchten.

X++ ist eine objektorientierte, anwendungsfähige und datenfähige Programmiersprache, die in der ERP-Programmierung (Enterprise Resource Planning) und in Datenbankanwendungen verwendet wird. Es stellt Systemklassen für eine breite Palette von Systemprogrammierbereichen bereit, die in der folgenden Tabelle hervorgehoben sind.

X++-Sprachfeature Description
Klassen Zusätzlich zu Systemklassen gibt es auch Anwendungsklassen zum Verwalten vieler Geschäftsprozesse. Reflexionen zu Klassen werden unterstützt.
Tabellen X++-Programmierer können auf die relationalen Tabellen zugreifen. X++ enthält Schlüsselwörter, die den größten Teil der Schlüsselwörter in Standard-SQL erfüllen. Die Spiegelung von Tabellen wird unterstützt.
Benutzeroberfläche Manipulation von Benutzeroberflächenelementen, z. B. Formularen und Berichten.
Bewährte Methodenüberprüfungen X++-Code wird während der Kompilierzeit auf Syntaxfehler überprüft. Der Kompilierungsprozess führt auch Best Practice-Prüfungen durch. Verstöße gegen bewährte Methoden können Compilernachrichten generieren.
Müllabfuhr Die X++-Laufzeitausführungsmodule verfügen über automatische Mechanismen zum Verwerfen von Objekten, auf die nicht mehr verwiesen wird, sodass Speicherplatz wiederverwendet werden kann.
Interoperabilität Die Interoperabilität zwischen Klassen, die in X++ und in C# (oder anderen .NET Framework-Sprachen) geschrieben wurden, wird unterstützt.
Dateimanipulation Dateieingabe und -ausgabe werden unterstützt, einschließlich XML-Erstellung und Analyse.
Auflistungen Dynamische Arrays werden unterstützt, und X++ enthält mehrere Sammlungsobjekte.

X++-Kompiliert zu Microsoft .NET CIL (Common Intermediate Language)

X++-Quellcode wird in Microsoft .NET CIL (Common Intermediate Language) kompiliert. CIL generiert die .NET-Compiler für C# und Visual Basic. Die Vorteile der Kompilierung zu CIL umfassen:

  • Ihr Code wird viel schneller ausgeführt als in früheren Versionen (AX2012 und früher).
  • Es ist einfacher, Anwendungslogik in anderen verwalteten Sprachen zu schreiben und diese Logik in Ihre X++-App zu integrieren.
  • Ihre X++-Apps können effizient auf Klassen verweisen, die in anderen .NET-Assembly-DLL-Dateien verfügbar sind.
  • Die CIL kann von den vielen .NET-Tools betrieben werden.

Die Standardkompilierungseinheit ist identisch mit anderen .NET-Sprachen. Wenn eine Methode in einem Modellelement (z. B. eine Klasse, ein Formular oder eine Abfrage) nicht kompiliert werden kann, schlägt die gesamte Kompilierung fehl.

Wenn Sie Code aus früheren Versionen (AX2012 und früher) aktualisieren, beachten Sie, dass die CIL-Hilfsmethoden wie Global::runClassMethodIL z. B. entfernt wurden, da sie nicht mehr relevant sind.

Weitere Informationen finden Sie unter "Verwalteter Code".

Die Liste "Ignorieren"

Assemblys werden aus erfolgreichen Kompilierungen generiert, und das Laufzeitsystem kann unvollständige Assemblys nicht laden. Es gibt Szenarien beim Portieren von Legacyanwendungen, in denen es von Vorteil ist, Dinge in einer mehrstufigen Ausführung auszuführen und wo Teile der Anwendung getestet werden müssen, bevor alles portiert wird. Dies ist zwar nützlich für dieses sehr begrenzte Szenario, sollte aber nicht verwendet werden, sobald die Anwendung für die Produktion bereit ist, da Sie Probleme ausblenden würden, die zur Laufzeit auftreten, nachdem das System bereitgestellt wurde. Um Teile Ihres X++-Codes zu ignorieren, können Sie eine Methode in einem XML angeben, indem Sie im Kontextmenü des Projekts "Best Practice Suppressions bearbeiten" auswählen. Dadurch wird ein XML-Dokument geöffnet, in dem die Ausschlüsse verwaltet werden.

Konzepte

Die X++-Sprachprogrammierungsreferenz ist in die folgenden Abschnitte unterteilt:

Weitere Ressourcen