![]() |
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:
Dieser Record beinhaltet wiederum ein dynamisches Array à la
var meinArray: TRecTyp;
Delphi-Quellcode:
Nun folgendes Beispiel:
TRecTyp = record
a: String; b: String; c: Array of TAndererRecTyp; end;
Delphi-Quellcode:
funktioniert, jedoch
SetLength(meinArray,laenge);
Delphi-Quellcode:
löst eine AccessViolation aus.
SetLength(meinArray[item].c, laengec);
Fehler in der Denkweise oder geht das nicht? Danke. grüße Tobi |
AW: Dynamisches Array in Record verursacht AV
Wie groß ist denn das übergeordnete Array, wenn du die Länge des untergeordneten Arrays setzt?
|
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!
|
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 10:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz