4D v16.3Arrays und Speicher |
||||||||||||||||||||||||
|
4D v16.3
Arrays und Speicher
|
Array-Typ | Formel für Speicherbelegung in Bytes |
Boolean | (31+Anzahl der Elemente)/8 |
Datum | (1+Anzahl der Elemente) * 6 |
String | (1+Anzahl der Elemente) * (Summe der Größe jedes Texts) |
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 | (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 STRING(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 v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)