Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Konstantenausdruck in Case-Struktur funktioniert nicht

  Alt 22. Jul 2010, 11:27
'nen Grund kann ich mir nicht direkt vorstellen, außer die Speicherverwaltung betreffend.

Wobei man dieses vorallem für "schmutzige Tricks angewendet hat.

Delphi-Quellcode:
function test: Integer;
{$J+} // {$WRITEABLECONST ON}
const
  i: Integer = 0;
{$J-} // {$WRITAEBLECONST OFF}
begin
  i := i + 1;
  Result := i;
end;

ShowMessage(IntToStr(Test));
ShowMessage(IntToStr(Test));
ShowMessage(IntToStr(Test));
ShowMessage(IntToStr(Test));
So konnte man auch ohne OOP (private Felder) private und dennoch globale "Variablen" nutzen.

Toll finde ich übrigens auch diese Konstanten-Anwendung,
Das geht übrigens auch bei Records.
Und Typen kann man an dieser Stelle auch deklarieren.

Aber wenn du eine Konstante als Pointer übergeben willst/mußt, dann mußt du sie auch typisieren, damit sie nicht als Wert direkt am Verwendungsort eingebaut wird, sondern selber einen eigenen Speicherplatz und festen Typen besitzt.
$2B or not $2B

Geändert von himitsu (22. Jul 2010 um 11:32 Uhr)
  Mit Zitat antworten Zitat