![]() |
Frage zur Variablendeklaration
Kann mir mal wer den genauen inhaltlichen Unterschied meiner krassen Variablen erklären? d.h. von wo sie erreichbar sind, wieoft für sie Speicher reserviert wird, warum es da gut / schlecht ist...
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, Forms; type TForm1 = class(TForm) public KrassInKlasse: byte; end; var Form1: TForm1; KrassInUnit: byte; implementation var HierGehtsAuchKrass: byte; {$R *.dfm} end. |
Re: Frage zur Variablendeklaration
also KrassInKlasse ist halt bestandteil der klasse und wenn du die instanziierst dann wird die variable auch instantiiert und jede klasse hat dann ihre eigene variable
KrassInUnit ist einfach global gehalten und überall erreichbar ( gibts auch nur einmal und nicht mehrere instanzen ) -> solang man aber auch die unit geused hat damit die variable bekannt ist HierGehtsAuchKrass <- das wird wohl auch global sein schätze ich //edit wobei diese erst ab der deklaration gültig ist |
Re: Frage zur Variablendeklaration
d.h. wenn ich mehrere TForm1 erstelle, gibt es die beiden unteren nur EINMAL, und nur EIN wert kann angenommen werden, während der obere wert für jede erzeugte form individuell ist?
auf die obere kann man auch nur zugreifen, falls eine instanz vom typ TForm1 erstellt wurde, und man eine referenz auf diese instanz hat? und auf die beiden unteren kann man aus anderen units nur zugreifen, falls unit1 bei diesen im interface-abschnitt unter uses eingetragen ist, während für die obere ein uses-eintrag von unit1 in den implementation-abschnitt der hypothetischen zweiten unit reichen würde? |
Re: Frage zur Variablendeklaration
Zitat:
auf die globale variable einfach mit ihrem namen wenn du aber im private bereich deklarierst ( klasse ) dann ist sie nur in proceduren INNERHALB der klasse "sichtbar" |
Re: Frage zur Variablendeklaration
Nailor, das da ist elementar :!: Mit Gültigkeitsbereichen muß man sich echt etwas auskennen. Das soll jetzt keine Besserwisserei sein, aber, ähm *mitzaunpfahlwinkt*
|
Re: Frage zur Variablendeklaration
deshalb frag ich ja. aber sag du mir mal, wo ich den unterschied zwischn #2 und #3 rausfinden kann
|
Re: Frage zur Variablendeklaration
Nailor, das kann ich nicht. :shock: "Elementar" habe ich nicht umsonst gesagt. Ich gebe dir nur Hinweise : Lokal und global, das ist wichtig. Überlege dir, was ein Dreisatz ist. 8) a+b=c Wo wird nun überhaupt C gebraucht ? Und wo a oder b ? c würde wohl ausgewertet/angezeigt werden müssen, aber a und b wäre nur nötig, um c zu ermitteln.
Wenn du das verstanden hast, dann kommt noch public, published usw. und das ist schon gewaltig, um da durchzublicken. :mrgreen: |
Re: Frage zur Variablendeklaration
Der Unterschied zwischen KrassInUnit und HierGehtsAuchKrass ist, das HierGehtsAuchKrass nicht von einer anderen Unit aus erreicht werden kann, sondern nur innherhalnb des implementation-Abschnitts von Unit1.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz