Zunächst einmal scheint hier ein Mißverständnis über Zeiger/Pointer vor zu liegen.
Ein Zeiger/Pointer enthält NIL oder eine Adresse, die auf einen Speicherbereich zeigt. Der Wert, den der Zeiger enthält, ist vollkommen uninteressant. Von Interesse ist nur der Speicherbereich auf den der Zeiger zeigt. Wenn hier ein paarmal vom Inhalt des Zeigers die Rede war hoffe ich, daß dies eine sprachliche Ungenauigkeit war.
Wie DeddyH schon ausgeführt hat ist
Delphi-Quellcode:
zeiger : pointer;
...
new(zeiger);
vornehm ausgedrückt, Blödsinn.
new(zeiger);
ist nur dann sinnvoll, wenn zeiger als Pointer auf irgendetwas definiert ist. z.B.
Delphi-Quellcode:
tmyrec=record
wert:integer;
nix :byte;
end;
zeiger:^tmyrec;
pint :înteger;
...
new(zeiger);
new(pint);
Dann beginnt die Record Definition mit zwei Byte-Werten.
Das könnte nach einem
packed record
verlangen, muß aber nicht. Wäre u.U. aber auch eine Erklärung für das Verhalten.
Gruß
K-H