Discussion:
Ersatz für typisierte Konstante
(zu alt für eine Antwort)
Björn Schreiber
2019-03-26 09:16:58 UTC
Permalink
Hi *.*,

in alten Quellen (Delphi 5) findet sich folgendes Konstrukt:

---
tFooClass = class
class function FooFunc: Integer;
end;

class function tFooClass.FooFunc: Integer;
const
FooConst: Integer = 0;

begin
Inc(FooConst);
Result := FooConst;
end;
---

Bei der Anpassung für Delphi Rio, wo typisierte Konstanten
standardmäßig zu einem Fehler führen, suche ich noch nach einer Lösung,
die ohne den Schalter {$J+} (lokales Aktivieren von typisierten
Konstanten) auskommt.

* lokale Variablen können nicht initialisiert werden
* ein Klassenfeld kann ich nicht verwenden, da es sich um eine
Klassenmethode handelt
* eine globale Variable kommt ebenfalls nicht in Frage, da die Klasse
mehrfach instantiiert wird

Hat jemand eine Idee?


Gruß,
Björn
--
Björn Schreiber
DRIGUS Systeme GmbH
Björn Schreiber
2019-03-26 09:56:07 UTC
Permalink
Post by Björn Schreiber
* eine globale Variable kommt ebenfalls nicht in Frage, da die Klasse
mehrfach instantiiert wird
Ich muss mich korrigieren. In diesem Fall ist doch eine
initialisierte, globale Variable möglich, da die typisierte Konstante
doch nur einmal vorkommt.


Gruß,
Björn
--
Björn Schreiber
DRIGUS Systeme GmbH
Loading...