Arrays und die 4D Programmiersprache

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 6.0


Arrays sind 4D Variablen. Von daher haben Sie einen Geltungsbereich und folgen – bis auf wenige Ausnahmen – den Regeln der 4D Programmiersprache.

Lokale, Prozess- und Interprozess-Arrays


Sie können lokale, Prozess- oder Interprozess-Arrays erstellen und einsetzen. Beispiele:

   ARRAY INTEGER ($aiCodes;100) 
      ` Erstellt ein lokales Array mit 100 2-byte Werten vom Typ Zahl
   ARRAY INTEGER (aiCodes;100) 
      ` Erstellt ein Prozess-Array mit 100 2-byte Werten vom Typ Zahl
   ARRAY INTEGER (<>aiCodes;100) 
      ` Erstellt ein Interprozess-Array mit 100 2-byte Werten vom Typ Zahl

Der Geltungsbereich dieser Arrays ist derselbe wie für lokale, Prozess- und Interprozessvariablen:

Lokale Arrays

Lokale Arrays beginnen mit dem Dollarzeichen ($).

Sie gelten für die Methode, in der sie erstellt wurden und werden gelöscht, sobald die Methode endet. Sie können in zwei verschiedenen Methoden denselben Namen haben, denn es sind in der Tat zwei verschiedene Variablen mit unterschiedlichem Geltungsbereich.

Erstellen Sie ein lokales Array in einer Formularmethode, Objektmethode oder Projektmethode, die als Unterroutine von den beiden vorigen Methodenarten aufgerufen wird, wird das Array bei jedem Aufrufen der Formular- bzw. der Objektmethode erstellt und gelöscht. Mit anderen Worten, das Array wird für jedes Formularereignis neu erstellt und gelöscht. Folglich können Sie lokale Variablen weder für Formulare, noch zum Anzeigen oder Drucken verwenden.

Verwenden Sie lokale Arrays sowie lokale Variablen so oft wie möglich. Das verringert den Speicherplatz, der zum Laufen Ihrer Anwendung erforderlich ist.

Prozess-Arrays

Prozess-Arrays beginnen mit einem Buchstaben.

Sie gelten für den Prozess, in dem sie erstellt wurden und werden gelöscht, sobald der Prozess endet oder abbricht. Ein Prozess-Array hat automatisch eine Instanz pro Prozess. Deshalb ist das Array in den Prozessen vom selben Typ. Ihr Inhalt ist dagegen für jeden Prozess anders.

Interprozess-Arrays

Interprozess-Arrays beginnen unter Windows und auf Macintosh mit dem Symbol <>. Auf Macintosh kann auch das Zeichen <> (Wahl-/Großschreibtaste + Buchstabe v) verwendet werden. Sie gelten für alle Prozesse einer Arbeitssitzung. Sie sollten sie nur für den gemeinsamen Zugriff auf Daten und Übertragungsinformationen zwischen Prozessen einsetzen.

Tipp: Wissen Sie bereits im voraus, dass auf ein Interprozess-Array mehrere Prozesse zugreifen, was u.U. zu Konflikten führt, schützen Sie den Zugriff auf dieses Array mit einer Semaphore. Weitere Informationen dazu finden Sie im Beispiel zur Funktion Semaphore.

Hinweis: Sie können in Formularen auch Formularobjekte wie rollbare Bereiche, Dropdown-Listen, etc. über Prozess- und Interprozess-Arrays erstellen.

Ein Array als Parameter übergeben


Ein Array lässt sich einem 4D Befehl oder der Routine eines 4D Plug-In als Parameter übergeben, jedoch nicht in einer Benutzermethode. Dafür müssen Sie einen Zeiger auf das Array übergeben, der dann der Parameter für die Methode ist. Weitere Informationen dazu finden Sie im Abschnitt Arrays und Zeiger.

Array einem anderen Array zuweisen


Im Gegensatz zu Variablen vom Typ Text oder Alphanumerisch können Sie ein Array nicht einem anderen zuweisen. Dafür müssen Sie den Befehl COPY ARRAY verwenden.

Referenz

Arrays und Zeiger, Einführung in Arrays.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next