Einzelnen Beitrag anzeigen

Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

Ungültige Zeigeroperation

  Alt 15. Jul 2005, 09:32
Hi,

ich habe eine 2D-Karte mit X*Y Feldern auf der Karte. Ich benutze hierbei ein dymnamisches Array, damit der User die Anzahl der Felder der X- oder Y-Achse wechseln kann. Ich habe das wiefolgt gemacht:

Delphi-Quellcode:
type
    TFeldDaten = record
      FeldArt : Integer;
    end;

...

type
    TFelder = record
      FeldX, FeldY : Integer;
      Felder : Array of TFeldDaten;
    end;

...

Isokarte : TFelder;

...

SetLength(Isokarte.Felder, MaxX*MaxY);
Wenn ich nun die Anzahl der Felder verändere und es statt 5x5 nur noch 4x4 Felder gibt, motzt Delphi rum und zeigt mir eine ungültige Zeigeroperation an. Wenn ich die Anzahl auf 7x7 erhöhe gibt es keine Probleme. Ich rufe SetLength immer dann auf, wenn sich die Größe der X- oder Y-Achse verändert. Wo liegt das Problem?
  Mit Zitat antworten Zitat