Ist z.B. hilfreich wenn du einen gewissen wert nur in einer prozedur speichern willst ohne dass andere objekte,funktionen oder sonst was zugriff drauf hat.
Delphi-Quellcode:
procedure TForm1.wert( nWert : integer );
const
cnWert = -1;
begin
cnWert := nWert + cnWert;
// weitere verarbeitung...
end;
die konstante wird also wie eine member variable behandelt ( der aktuelle wert bleibt da drin ) nur ist die sichtbarkeit der konstante durch die deklaration nur noch innerhalb der prozedur "wert".
eine andere funktion ist z.b. das realisieren von singleton objekten...
Delphi-Quellcode:
class function TSingleton.Instance : TSingleton;
const
coInstance : TSingleton = nil;
begin
if not Assigned( coInstance ) then
coInstance := TSingleton.Create;
result := coInstance;
end;
so kann man immer über TSingleton.Instance.Funktion auf das objekt zugreifen... ohne irgendwann mal was instanzieren zu müssen... achja und in jeder
unit wo die Singleton.pas eingebunden ist kann auf ein und das selbe objekt zugegriffen werden ( man verhindert eine globale variable )
gruß
Reli