Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#10

AW: DLL um Schnittstellenparameter zu sparen

  Alt 18. Okt 2013, 07:08
Private statische Variablen sind nicht-lokal beschreibbar? Das wäre ja ein Graus. Wenn nicht, ist deine Anmerkung überflüssig, denn lokale Variablen/private Felder sind immer beschreibbar.

Aber Ich denke, Du verwechselst 'static' mit 'const', es gilt aber 'static' = 'class var'. Und 'var' steht nicht für 'konstant'. Und auch nicht für 'varscheinlich konstant'


Eine statische (Class-) Variable ist übrigens eine Variable, die nicht der Instanz zugeordnet ist, sondern der Klasse. Also sowas wie (globale) Variablen.

Delphi-Quellcode:
Type
  TStaticClass = class
    private class Var hidden : TSomeType;
    public class Var known : TSomeType;
  end;

// Entspricht von der Sichtbarkeit

Unit TStaticUnit;
Interface
Var
  known : TSomeType;
Implementation
  hidden : TSomeType;
End.
Old school würde man eine Read-Only Variable (was hier noch besser wäre, aber dann bräuchte man einen statischen Konstruktor) als Funktion (z.B. Printer, Clipboard) umsetzen;
Delphi-Quellcode:
Unit Stuff;
interface
  function DataAccess : TSomeType;
implementation
Var
  _dataAccess : TSomeType;

Function DataAccess : TSomeType;
Begin
  Result := _dataAccess;
End;

// Oder mit Lazy load
Function DataAccess : TSomeType;
Begin
  if _dataAccess = nil then _dataAccess := CreateDataAccess;
  Result := _dataAccess;
End;
  Mit Zitat antworten Zitat