Ja das war es.
Sich über diese "Konstanten" zu streiten ist schon ein bischen irrsinnig, da es im Grunde eine Design-Schwäche in der Delphi Sprache darstellt.
Es gibt Konstanten und Variablen, wie unterscheiden sie sich ?
Delphi-Quellcode:
const
Konstante = 1;
var
Variable: Integer;
Das sind die beiden Basiskonstrukte im ursprünglichem PASCAL. Der Unterschied besteht darin das ein Variable eine Typisierung bestitzt wohingegen eine Konstante eine Wertzuweisung haben sollte.
So, nun mit der Zeit hat Borland aber einige Neuerungen eingeführt, zb.
Delphi-Quellcode:
var
Variable: Integer = 1;
const
Konstante: Integer = 1;
Als erstes die Typisierten Variablen mit Vorinitialisierung und als zweites die Typisierten Konstanten mit Wertzuweisung. Worin besteht aber nun der syntaktisch funktionale Unterschied ?
Nun, während Konstanten IMMER global sind, d.h. ihre Gültigkeit ist immer global egal wo ich sie verwende können Variablen in ihrer Gültigkeit lokal beschränkt sein. Und exakt hier setzt der Design-Fehler an.
Ergo: die typisierte Konstante die modifizierbar ist ist ein Unding oder funktional eine Variable die immer global gültig sein wird.
Aber fakt ist nun mal das diese Funktuionalität existent ist, und sie zu benutzen niemals einen Fehler darstellen kann. Denn wozu existiert Funktinalität wenn man sie niemals benutzen kann, oder umgekehrt wenn über dieses Unding eine ganz spezielle Funktionalität möglich ist die sonst anders nicht realisierbar ist, warum dannnicht benutzen ? Was ist schlecht daran, warum sollte das schlechter Stil sein.
Gruß Hagen