Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#12

Re: Warum läßt Delphi das zu: Pointertyp(pBla).Member???

  Alt 16. Aug 2005, 11:11
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.
  Mit Zitat antworten Zitat