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, Prozeß- und Interprozeß-Arrays


Sie können lokale, Prozeß- oder Interprozeß-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 Prozeß-Array mit 100 2-byte Werten 
                              vom Typ Zahl
   ARRAY INTEGER (<>aiCodes;100) ` Erstellt ein Interprozeß-Array mit 100 2-byte Werten 
                                vom Typ Zahl

Der Geltungsbereich dieser Arrays ist derselbe wie für lokale, Prozeß- und Interprozeßvariablen:

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.

Prozeß-Arrays

Prozeß-Arrays beginnen mit einem Buchstaben.

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

Interprozeß-Arrays

Interprozeß-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.

Tip: Wissen Sie bereits im voraus, daß auf ein Interprozeß-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 Prozeß- und Interprozeß-Arrays erstellen.

Ein Array als Parameter übergeben


Ein Array läßt 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