Zitat von
Olli:
Zitat von
Luckie:
Übrigens gerade probiert:
[...]
Weil jbg hier die interne Verwaltung damit verwechselt, daß nach außen Objekte sowas wie Records sind und nur intern über ihren Zeiger verwaltet werden.
Ich habe nie behauptet, dass der Text kompiliert. Er steht auch nicht mal in den delphi-Tags. Wenn aber Delphi keine impliziete Dereferenzierung hätte, müsste das so implementiert werden, wie es bereits zu
TP Zeiten mit
object war.
Zitat:
Aber Gegenfrage: Warum gibt's das überhaupt, wenn ich es doch auch ohne ^ schreiben kann?
Schon mal auf PPTypeInfo zugegeriffen? Das geht so
S := ti^^.Name;
Würde man nur "ti.Name" schreiben (das kompiliert nicht!), dann wäre das für den Compiler "ti^.Name" was schlicht weg falsch ist und deswegen nicht kompiliert.
Zitat:
Zitat von
negaH:
Übrigens, in Assembler kennt man syntaktisch diesen Unterschied ebenfalls nicht.
... gib mal ein Beispiel. Das wäre mir total neu. Daß der
BASM diverse Syntaxschweinereien zuläßt, ist mir bekannt ... in anderen Assemblern kannst du vieles aber nicht so machen!
Wohl das Wörtchen
nicht überlesen? In Assembler hat man nur Zeiger. Da braucht man keine impliziete Dereferenzierung.
Zitat:
Zitat von
Robert Marquardt:
Besonders fuer Member einer Klasse, da eine Klassenreferenz formal kein Zeiger ist.
Die Klassenreferenz ist nur als Zeiger implementiert.
Hört auf Robert! Der hat (fast
<- sorry!) immer recht.
Weil er mit deiner Meinung übereinstimmt? Dann muss ich dir wohl in Zukunft auch immer zustimmen, damit ich (fast) immer recht habe.