Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dynamisches Array in Record verursacht AV (https://www.delphipraxis.net/155504-dynamisches-array-record-verursacht-av.html)

EDatabaseError 26. Okt 2010 16:21

Dynamisches Array in Record verursacht AV
 
Hallo miteinander,

habe mal wieder ein seltsammes Phänomen in Delphi. In meinem Projekt befindet sich ein dynamisches Array von einem Record
Delphi-Quellcode:
var meinArray: TRecTyp;
Dieser Record beinhaltet wiederum ein dynamisches Array à la
Delphi-Quellcode:
TRecTyp = record
 a: String;
 b: String;
 c: Array of TAndererRecTyp;
end;
Nun folgendes Beispiel:
Delphi-Quellcode:
SetLength(meinArray,laenge);
funktioniert, jedoch
Delphi-Quellcode:
SetLength(meinArray[item].c, laengec);
löst eine AccessViolation aus.

Fehler in der Denkweise oder geht das nicht?
Danke.

grüße Tobi

Luckie 26. Okt 2010 16:25

AW: Dynamisches Array in Record verursacht AV
 
Wie groß ist denn das übergeordnete Array, wenn du die Länge des untergeordneten Arrays setzt?

EDatabaseError 26. Okt 2010 16:56

AW: Dynamisches Array in Record verursacht AV
 
Ah, leichtsinnsfehler. Elementzähler wurde schon nach den ersten zuweisungen inkrementiert. Klar, nicht vorhandenes Element, da krachts. Danke!

himitsu 26. Okt 2010 18:38

AW: Dynamisches Array in Record verursacht AV
 
Tipp: Schau mal in die Projektoptionen
und schalte die Index- und Bereichsprüfung an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz