![]() |
konstantes Klassenattribut?!
Hallo,
ich suche eine Möglichkeit eine Konstante innerhalb einer Klasse zu definieren. Ein Attribut sozusagen, dass ich bereits bei der Definition initialisieren kann und vor Instanzierung abfragen. Existiert so etwas in Delphi? Danke! Gruß Max |
Re: konstantes Klassenattribut?!
Moin Max,
leider habe ich für das genannte Problem keine Lösung, aber es stellt sich mir die Frage, wozu das gut sein soll? :gruebel: |
Re: konstantes Klassenattribut?!
hm... ist jetzt echt nicht persönlich gemeint - aber Antworten wie - "wozu soll das gut sein" - sind selten hilfreich...
Ich habe eine Reihe von Klassen, die grafische Outputs von Berechnungen liefern sollen. Jetzt wäre es schön, wenn ich die Dimension, die sie unterstützen, von vorneherein fix in jede Klassen schreiben könnte. Gruß Max |
Re: konstantes Klassenattribut?!
für dieses Unterfangen würde sich eine Class Function eignen, die einfach einen Wert zurückgibt.
Klassen Funktionen können auch schon aufgerufen werden, wenn noch kein Objekt der Klasse createt ist.
Delphi-Quellcode:
Aufruf:
class function TMyClass.DimensionDerKlasse : Integer
begin result := 5; end;
Delphi-Quellcode:
a := TMyClass.DimensionDerKlasse;
|
Re: konstantes Klassenattribut?!
Moin Max,
Zitat:
Wobei Dir Stoxx ja schon die Lösung gebracht hat. (Warum hab' ich nicht gleich selber an die Klassenmethoden gedacht :wall:) |
Re: konstantes Klassenattribut?!
Hallo Max,
es gibt sicherlich nur wenige Fälle, in denen ein konstantes Klassenattribut Sinn macht. Ich kenne jetzt keinen solchen Fall und dein Problem scheint mir auch nicht als Präzedenzfall geeignet. Oft werden die 2D-Klassen von den 3D-Klassen sauber getrennt. In einem solchen Fall haben sich globale Konstanten in einer Basis-Unit bewährt, die von den Programmen zur Laufzeit abgefragt werden können. Freundliche Grüße vom marabu |
Re: konstantes Klassenattribut?!
Zitat:
|
Re: konstantes Klassenattribut?!
Zitat:
|
Re: konstantes Klassenattribut?!
Ich finde das Konzept von Klassenvariablen schon ziemlich sinnvoll. Bei Java kann man damit ziemlich schön arbeiten - das vermisse ich ehrlich gesagt ein bisschen bei Delphi. Man kann zwar einiges auch schon mit Klassenfunktionen erledigen, aber einfacher wären manchmal Klassenvariablen. Über eine solche kann man dann ja eine (zur Laufzeit änderbare) "Konstante" erschaffen.
Gruß, Dominik |
Re: konstantes Klassenattribut?!
Oh ich nehme alles zurück (ich nutze ja D2006). Habe gerade nachgelesen, wie das mit den Klassenattributen funktioniert. Hatte von Delphi 5 noch im Kopf, dass es so etwas nicht gibt!
Schön - das freut mich :spin2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz