AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

const in Klassen

Ein Thema von Alexander Roth · begonnen am 25. Apr 2006 · letzter Beitrag vom 25. Apr 2006
Antwort Antwort
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#1

const in Klassen

  Alt 25. Apr 2006, 08:49
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.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: const in Klassen

  Alt 25. Apr 2006, 09:01
Ich deklariere Konstanten immer außerhalb von Klassen, warum sollte ich dafür in der Klasse Speicher unnütz reservieren
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: const in Klassen

  Alt 25. Apr 2006, 09:18
Weil sie nur dort gebraucht werden und somit zur Klasse gehören?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: const in Klassen

  Alt 25. Apr 2006, 09:25
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.
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: const in Klassen

  Alt 25. Apr 2006, 09:31
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?
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: const in Klassen

  Alt 25. Apr 2006, 09:32
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;
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: const in Klassen

  Alt 25. Apr 2006, 12:19
@Kroko1999
Es wird Speicher für die Variable FMyConst reserviert.

@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
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: const in Klassen

  Alt 25. Apr 2006, 12:44
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
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 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