Turbo Pascal kennt sowas leider nicht. Am saubersten wäre es wahrscheinlich ein Object zu programmieren, welches sowas wie SetLength implementiert. SetLength müsste den neuen Speicher allozieren, die alten Daten mit Move kopieren und diese nach dem Kopieren vernichten (ReallocMem gibt's meines Wissens leider auch nicht).
Irgend sowas in der Richtung vielleicht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| DynType = Word; TDynData = Array[0..0] of DynType; TDynArray = object private FLength : Word; public Data : ^TDynData; constructor Create; destructor Destroy; function GetLength : Word; procedure SetSize(const Value : Word); end; |
Oder dann halt sowas wie ne verkettete Liste mit Pointern.
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.