![]() |
Re: Bei der Deklaration einer Variable einen Wert definieren
Zitat:
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Zitat:
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Zitat:
|
Re: Bei der Deklaration einer Variable einen Wert definieren
oh man, hätte ich bloß nichts gesagt..
Zitat:
Das es per Definition eine veränderbare Konstante ist, darauf habe ich ja selbst hingewiesen. Zitat:
hingehört und verwendet wird. Zitat:
Delphi-Quellcode:
dann mache ich das genau aus dem Grund, diese später ändern zu können.
const
cfgFarbe: TColor = clRed; Zitat:
"Richtige" Konstanten
Delphi-Quellcode:
können nicht verändert werden.
cFehlerColor = clRed;
alex Edit: Mit so vielen Leuten auf einmal habe ich mich ja noch nie angelegt. Fehlt mir nur noch Hagens Standpauke. ;) |
Re: Bei der Deklaration einer Variable einen Wert definieren
Deine zuweisbaren typisierten Konstanten behalten ihren Wert, nachdem die Routine verlassen wurde. Außerdem gibt es nette Effekte, falls die Routine sich irgendwann einmal selbst aufruft, da dann beide die gleiche "Variable" verändern.
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Zitat:
Zitat:
Mein ![]() alex |
Re: Bei der Deklaration einer Variable einen Wert definieren
Ja. Ich wollte nur feststellen, dass diese statischen Variablen, wie sie in C heißen, eine ganz andere Funktion als lokale Variablen erfüllen. Damit sind sie für den Threadersteller keine Lösung.
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Konstanten sind aber Konstanten und keine veränderlichen Variablen.
außerdem ist des {$J+} / {$WRITEABLECONST ON} mehr zur Abwärtskompatibilität vorhanden. Obwohl ich zwar auch gern mal einige "Fehler" ausnutze ... irgendwo muß man doch nicht gleich alles machen, nur weil es geht? Vorallem da durch eine unbedachte Verwendung dieser Compilerschalter sich schnell mal die Adressen auf die "Konstanten"-Inhalte ändern. Zitat:
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Zitat:
Zitat:
Zitat:
Das alles wäre halbwegs akzeptabel, wenn die Delphi-Weiterentwickler nicht in ihrer unendlichen Weisheit beschlossen hätten, daß innerhalb von Prozeduren/Funktionen etc.
Delphi-Quellcode:
fehlerhaft ist, während
var myvar: mytype = myvalue;
Delphi-Quellcode:
erlaubt ist.
const myvar: mytype = myvalue;
Gruß Gammatester |
Re: Bei der Deklaration einer Variable einen Wert definieren
Dass dieses Konstrukt bei lokalen Variablen und Felder nicht funktioniert, finde ich absolut richtig. Bei globalen Variablen und Konstanten wird der Startwert einfach in einem Abschnitt des PE-Formats angegeben. Bei lokalen Variablen geht das nicht, man muss erst die Variable auf dem Stack allozieren und dann noch einen Wert hineinschreiben, was auf das selbe wie die explizite Zuweisung hinausläuft. Die Initialisierungs-Syntax würde dies verwischen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 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 by Thomas Breitkreuz