4D v15.4Arrays und Speicher |
||||||||||||||||||||||
|
4D v15.4
Arrays und Speicher
|
Array-Typ | Formel für Speicherbelegung in Bytes |
Boolean | (31+Anzahl der Elemente)/8 |
Datum | (1+Anzahl der Elemente) * 6 |
Ganzzahl | (1+Anzahl der Elemente) * 2 |
Lange Ganzzahl | (1+Anzahl der Elemente) * 4 |
Bild | (1+Anzahl der Elemente) * 4 + Summe der Größen jedes Bilds im Array |
Zeiger | (1+Anzahl der Elemente) * 16 |
Zahl | (1+Anzahl der Elemente) * 8 |
Text oder String (überholt) | (1+Anzahl der Elemente) * (Summe der Größe jedes Texts) |
Zweidimemsional | (1+Anzahl der Elemente) * 12 + Summe der Größe jedes Array |
Hinweise:
Beim Arbeiten mit umfangreichen Arrays sollten Sie prüfen, ob der Speicher ausreicht. Setzen Sie dazu die Array-Erstellung an den Anfang und fragen Sie Fehler mit einer Projektmethode ON ERR CALL ab. Beispiel:
//Über Nacht soll eine Operation laufen, bei der umfangreiche Arrays erstellt werden
//müssen. Anstatt das Auftreten von Fehlern mitten in der Nacht zu riskieren, lege das
//Erstellen von Arrays an den Beginn der Operation und prüfe die Fehler zu diesem Zeitpunkt:
gError:=0 // Nimm an, es gibt keinen Fehler
ON ERR CALL("ERROR HANDLING") // Installiere eine Methode zur Fehlersuche
ARRAY TEXT(63;asThisArray;50000) // Ungefähr 3125K
ARRAY REAL(arThisAnotherArray;50000) // 488K
ON ERR CALL("") // Fehlersuche ist nicht mehr nötig
If(gError=0)
// Arrays können erstellt werden; die Operation kann fortfahren
Else
ALERT("Diese Operation benötigt mehr Speicher!")
End if
// Arrays werden nicht mehr benötigt
CLEAR VARIABLE(asThisArray)
CLEAR VARIABLE(arThisAnotherArray)
Die Projektmethode ERROR HANDLING ist folgende:
// Projektmethode ERROR HANDLING
gError:=Error // Gib den Fehlercode zurück
Produkt: 4D
Thema: Arrays
4D Programmiersprache ( 4D v15.4)
4D Programmiersprache ( 4D v15.3)