Einzelnen Beitrag anzeigen

Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#1

Wert aus einer const-Deklaration überschreiben?!

  Alt 22. Feb 2007, 10:28
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)
  Mit Zitat antworten Zitat