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