Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi const in Klassen (https://www.delphipraxis.net/68128-const-klassen.html)

Alexander Roth 25. Apr 2006 07:49


const in Klassen
 
Hi,

die Überschrift sagt eigentlich scon alles.
Wie kann ich constanten in einer Klasse definieren.

Wenn es nicht geht, ist auch nicht schlimm, dann mache ich einfach eine Variable/(read-only)Property und weise sie nur am Anfang zu.

Kroko1999 25. Apr 2006 08:01

Re: const in Klassen
 
Ich deklariere Konstanten immer außerhalb von Klassen, warum sollte ich dafür in der Klasse Speicher unnütz reservieren :?:

Luckie 25. Apr 2006 08:18

Re: const in Klassen
 
Weil sie nur dort gebraucht werden und somit zur Klasse gehören?

Muetze1 25. Apr 2006 08:25

Re: const in Klassen
 
Wieso Speicher reservieren? Wenn es echte ordinale Konstanten sind, dann ersetzt der Compiler bzw. Präprozessor diese vor der Übersetzung. Dabei beschränken Konstanten in Klassen nur deren Gültigkeit auf die Klasse.

Da der Threadersteller Delphi 7 nutzt die Antwort: nicht möglich bzw. gibt es nicht.

Alexander Roth 25. Apr 2006 08:31

Re: const in Klassen
 
Zitat:

Zitat von Muetze1
Da der Threadersteller Delphi 7 nutzt die Antwort: nicht möglich bzw. gibt es nicht.

Ok.

Wie ist das eigentlich in anderen Delphi Versionen?

Kroko1999 25. Apr 2006 08:32

Re: const in Klassen
 
Zitat:

Zitat von Muetze1
Wieso Speicher reservieren? Wenn es echte ordinale Konstanten sind, dann ersetzt der Compiler bzw. Präprozessor diese vor der Übersetzung. Dabei beschränken Konstanten in Klassen nur deren Gültigkeit auf die Klasse...

Wenn diese in Klasse ziehe und als Variable ablege, dann wird beim Createn der Klasse der Speicher dafür mitreserviert
Beispiel

Delphi-Quellcode:
type
TMyType = (co1,co2,co3);
const
TMyConst = co2;
type
TMyClass = class
    constructor Create;
  private
   FMyConst: TMyType;
  public
    property MyConst: TMyType read FMyConst;
end;

constructor TMyClass.Create;
begin
  FMyConst := TMyConst;
end;

Hawkeye219 25. Apr 2006 11:19

Re: const in Klassen
 
@Kroko1999
Es wird Speicher für die Variable FMyConst reserviert. :wink:

@Alexander Roth
In Delphi 2006 (2005?) ist folgendes möglich:

Delphi-Quellcode:
type
  TMyClass = class

    const
      MyConst = 219;

    constructor Create;
  end;
Damit wird eine Konstante vereinbart, die nur innerhalb der Klasse bekannt ist.

Gruß Hawkeye

Alexander Roth 25. Apr 2006 11:44

Re: const in Klassen
 
Zitat:

Zitat von Hawkeye219
@Alexander Roth
In Delphi 2006 (2005?) ist folgendes möglich:

Delphi-Quellcode:
type
  TMyClass = class

    const
      MyConst = 219;

    constructor Create;
  end;
Damit wird eine Konstante vereinbart, die nur innerhalb der Klasse bekannt ist.

Nett. Leider ist das noch nicht in Delphi 7.
Kann man nicht ändern.

Danke für eure Hilfe

Tschüss


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz