Einzelnen Beitrag anzeigen

Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#1

EAccessViolation bei Änderung von dynamischem Array

  Alt 5. Jan 2007, 10:19
Hallo,

ich habe zwei dynamische Arrays deklariert
Delphi-Quellcode:
...
  aMyMainImages : array of Timage; // Oberer Symbolteil
  aMyBaseImages : array of Timage; // Unterer Symbolteil
...
Die Länge der Arrays setze ich mit folgendem Code.
Hierbei ist "iAnzAdressen" als Integer deklariert.
Delphi-Quellcode:
      
...
  setlength (aMyBaseImages, 0);
  setlength (aMyBaseImages, iAnzAdressen); // Zuweisen der Arraygrösse
  setlength (aMyMainImages, 0);
  setlength (aMyMainImages, iAnzAdressen); // Zuweisen der Arraygrösse
...
Klappt zuerst gut.
Wenn ich diesen Programmpunkt dann das zweite mal erreiche erhalte ich eine Exeption.
(EAccessViolation ... Zugriffsverletzung bei Adresse xxx ...)

Ich denke meine Frage ist ähnlich in diesem Thread,
aber die Antworten dort bringen mich nicht weiter.

Wenn ich bei Neuzuweisung der Arraygröße den Speicherbereich verändere,
wie kann ich meinem Zeiger dann sagen er soll bitte auch auf den neuen Bereich verweisen?

Oder kann ich ein dynamisches Array nachdem ich es mit eine Größe versehen
(angelegt) habe wieder löschen und neu anlegen?

Gruß Holger.

Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat