Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Parameterübergabe - leichte Verwirrung

  Alt 18. Jan 2006, 17:34
Also nochmal zu dem Var-zeugs:

Wenn du einen Klassenkonstruktor aufrufst:

TObject.Create;

Dann wird eine neue Instanz der Klasse erzeugt und ein Pointer auf diese Instanz zurückgegeben.
Also ist dann das Ergebnis von:

myObject:=TObject.Create;

Ein Pointer.

Wenn du das jetzt als Parameter übergibst, dann übergibst du diesen Pointer. Und damit greift die Routine auf die gleiche Instanz zu. Nur über einen anderen Pointer.


Wenn du jetzt das ganze mit var machst, dann übergibst du einen Pointer auf die angegebene Variable.

Bei einfachen Typen wie Strings, Integer, Real... ist das ein ^String, ^Integer, ^Real.

Bei Klassen ist das dann logischerweise immer ein ^Pointer. Also ein Pointer auf einen Pointer.


Wenn ich jetzt Müll geredet habe, sagt es mir bitte. Danke.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat