Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ^ und @ = beides pointer? (https://www.delphipraxis.net/15748-%5E-und-%40-%3D-beides-pointer.html)

Pseudemys Nelsoni 3. Feb 2004 16:39


^ und @ = beides pointer?
 
moin,

siehe threadname, wo ist der unterschied zwischen diesen beiden "dingern" ?

Giantics 3. Feb 2004 16:44

Re: ^ und @ = beides pointer?
 
@X gibt die Adresse eines Objektes (einer variablen) X zurück.
Für ^ gibt es 2 Möglichkeiten:
1. Bei der Deklaration:
var X: ^Integer;
Damit zeigt X auf einen Integer;
2. Jetzt musst du zuerst sagen, worauf X zeigen soll:
X:=@Tag; //X zeigt auf den Tag-Integer.
Wenn du nun in X oder Tag etwas schreiben möchtest geht das auch so:
X^:=1; // Tag=1;

X=... // weist Adresse zu
X^= // weist Wert an der Adresse zu

Hoffe, das kann man verstehen, sollte aber auch so ähnlich in der Hilfe stehen :stupid:

Christian Seehase 3. Feb 2004 16:48

Re: ^ und @ = beides pointer?
 
Moin Pseudemys Nelsoni,

mit @ fordert man die Adresse, z.B. einer Variablen ab (siehe auch Funktion Addr), mit ^ den Wert auf den die Variable zeigt (dereferenzieren genannt).

Im Prinzip müsste man eigentlich bei jedem Zugriff auf z.B. die Eigenschaft/Methode eines Objektes dereferenzieren

z.B.

Delphi-Quellcode:
Form1^.Height := ...
// statt
Form1.Height := ...
da Form1 die Adresse des Objektes enthält, aber die "Compiler-Magic" macht dieses unnötig bzw. sogar unmöglich.

Pseudemys Nelsoni 3. Feb 2004 17:10

Re: ^ und @ = beides pointer?
 
dankeschön ^^

wenn ich wieder komme guck ichs mir nochmal genauer an 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz