Danke für die Hinweise. Ich hatte immer die relativ strenge Typisierung von Delphi im Hinterkopf - aber es ist ja auch wieder logisch, dass bei einer Wertzuweisung in der Konstanten-Deklaration eine Angabe des Wertebereiches unnötig ist. Und außerdem bin ich davon ausgegangen, dass alles, was unter
const deklariert wird, auch automatisch eine Konstante ist.
Nur: Hat die Unterscheidung zwischen "echten Konstanten" und "schreibgeschützten Variablen" einen praktischen Grund oder Sinn - d.h. gibt es Anwendungsfälle, wo einmal die Verwendung von "echten Konstanten" und dann wieder die Anwendung von "schreibgeschützten Variablen" angebracht ist? Oder anders ausgedrückt: Was hat Borland (?) sich dabei gedacht, als es diese Unterscheidung einführte?
Toll finde ich übrigens auch diese Konstanten-Anwendung, bei der die Klasse nicht instantiiert werden muss, um sie zu benutzen:
Code:
type
TClassWithConstant = class
public
const SomeConst = 'This is a class constant';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage(TClassWithConstant.SomeConst);
end;