Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Array, Record, Problem!
bogus2k - Sa 13.03.04 14:24
Titel: Array, Record, Problem!
Ich habe eine Variable Karte als Array vom Typ Record ;-)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| type DatenArray = record caveID: Integer; xCoord: 1..150; yCoord: 1..200; cave_name: String; terrain: Integer; player_name: String; tribe: String; rank: Integer; end; var Karte: Array of DatenArray; i: Integer; |
Und jetzt möchte ich gerne dem Array einen Wert zuweisen:
Delphi-Quelltext
1:
| Karte[i].caveID := inttemp; |
Dabei bekomme ich aber den Fehler EAccessViolation,
was mache ich Falsch?
Moderiert von
Peter Lustig: Code- durch Delphi-Tags ersetzt
Moderiert von
DeCodeGuru: Topic verschoben
Christian S. - Sa 13.03.04 14:27
Hallo!
Du hast die Länge des Arrays noch nicht zugewiesen. Im Moment ist es Null Elemente lang und da kann ja dann nichts reinpassen. Die Länge eines Arrays legst Du mit "SetLength" fest.
Delphi-Quelltext
1:
| SetLength(myArray, 10); |
Aber Vorischt: da die Indizierung eines Arrays bei Null beginnt, ist der höchste zulässige Index 9 und nicht 10. Den höchsten zulässigen Index bestimmst Du mit "High(myArray)".
In den Tutorials gibt es auch eines zu Arrays. Kannste Dir ja mal durchlesen.
MfG
Peter
bogus2k - Sa 13.03.04 14:44
ach so ich dachte die laenge muss man nur bei statistischen arrays angeben
mein array brauch so ca. 10 000 felder, das ist wohl nicht moeglich oder?
wie kann man das sonst realisieren?
Christian S. - Sa 13.03.04 14:58
Wieso sollte das nicht möglich sein?
patrick - Sa 13.03.04 15:02
ich glaub du hast da was verwechselt:
bei statischen arrays wird die länge ja schon in der deklaration festgelegt und ist deshalb später nicht mehr änderbar.
| Zitat: |
| mein array brauch so ca. 10 000 felder, das ist wohl nicht moeglich oder? |
doch es ist möglich und zwar so:
Delphi-Quelltext
1:
| SetLength(Karte,10000); |
:D
bogus2k - Sa 13.03.04 15:15
danke funktioniert jetzt alles
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!