Einzelnen Beitrag anzeigen

Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#17

Re: Dynamisches Array speichern und einlesen

  Alt 4. Jan 2005, 11:46
Zitat von Chewie:
OK, dann halt mit Codebeispielen:

So deklarierst du dein Array:
a: Array[0..0] of Array[0..0] of Integer; Mittels Delphi-Referenz durchsuchenGetMem reservierst du für dieses Array dann Speicher. Wenn du es vergrößern willst, reservierst du neuen Speicher in der entsprechenden Größe, verschiebst alle Daten in diesen Speicherbereich und gibts den alten via Delphi-Referenz durchsuchenFreeMem frei. Letztendlich hast du so die Speicherverwaltung eines dynamischen Arrays nachgebaut.
...
Das muss ich nochmal richtig stellen, da dieser trick sehr praktisch ist, aber leider so nicht funktionieren kann. Denn zur adressierung der daten, in mehr als einer dimension, wird auch die max-anzahl benötig, die hier leider immer statisch 1 ist - und somit kann die erste dimension nicht erweitert werden:

addr := y * maxAnzahlX + x wäre zB. eine zweidimensionale addresierung, die hier leider versagt, da der kompiler ja nicht wissen kann, das man hier ein dynamisches array faken will.

Aber mit einer dimension funktioniert dieser trick prima und kann in speziellen fällen sinnvoll sein!
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat