Einzelnen Beitrag anzeigen

Mokuba01

Registriert seit: 26. Jan 2007
Ort: Neupetershain
76 Beiträge
 
Delphi XE2 Professional
 
#1

Fehler beim erneuten Ändern der Größe eines zweidimensionlen dynamischen Arrays

  Alt 14. Apr 2012, 20:19
Guten Abend,

ich habe ein zweidimensionales dynamisches Array. Bei jedem Aufruf durch den Nutzer werden dessen Maße erneut bestimmt. Ab dem zweiten Mal tritt dabei ein Fehler (EInvalidPointer) auf.

Früher habe ich
Code:
setlength(felder, x);
for i:=0 to x-1 do
  setlength(felder[i],y);
verwendet.

Hier tritt der Fehler in der dritten Zeile auf.
Verwende ich stattdessen "setlength(felder, x, y)", tritt hier der Fehler direkt auf.

Ich habe bereits Dinge wie "felder := nil" sowie "setlength(felder, 0)" und finalize bzw. freemem probiert, dann tritt der Fehler direkt bei diesem Befehl auf.
Es ist übrigens egal, ob der User x bzw. y größer, kleiner oder genauso groß, wie beim letzten Mal wählt.

"felder" ist eine globale Variable einer Klasse. Diese Klasse wird nach einmaliger Initialisierung in der MainForm ohne erneute Initialisierung vom Anwender genutzt.

Wodurch tritt der Fehler auf und was kann ich tun?

Danke schonmal für eure Hilfe
mfg Mokuba01

Geändert von Mokuba01 (14. Apr 2012 um 20:29 Uhr)
  Mit Zitat antworten Zitat