Hallo zusammen,
heute bin ich auf eine sehr seltsame Sache gestossen. Normalerweise geht man ja davon aus, dass Werte als "const" deklariert werden weil sie eben Konstanten sind. Doch heute bin ich eines besseren belehrt worden(?)
Folgendes Konstrukt:
Unit a deklariert im interface einen const-Wert:
Delphi-Quellcode:
Unit test;
interface
uses{...};
type{Typendeklarationen}
const maxvalue: integer = 2500;
{...}
So weit, so gut. Nun habe ich hier aber eine zweite
Unit, die im Initialization-Teil diese Konstante mit einem eigenen Wert überschreibt! Laut Debugger steht danach auch der neue Wert drin. Wie kann das sein? Und vor allem, macht das Sinn, und kann das später Probleme geben? Zur Verdeutlichung:
Delphi-Quellcode:
Unit main;
interface
uses {...},test;
{Rest der Interface-Abteilung}
implementation
{...}
initialization
{...}
test.maxvalue:=10000;
{...}
finalization
{...}
end.
Vielleicht hat ja jemand einen hilfreichen Kommentar dazu
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet.
" (Henning Richter)