Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Klassenvariable initialisieren - Wo (https://www.delphipraxis.net/182809-klassenvariable-initialisieren-wo.html)

bernau 19. Nov 2014 16:25

Klassenvariable initialisieren - Wo
 
Ich habe eine Klasse, die enthält eine Klassenvariable. Von dieser Klasse gibt es einige Ableitungen und diese werden natürlich instanziert. Meine Frage ist nun, wo soll die Klassenvariable initialisiert werden? Im Constructor ist es denkbar schlecht, denn immer wenn eine Klasse instanziert wird, würde die Variable zurückgesetzt werden. Wäre der initialization-Teil einer Unit der richtige Ort?

Nersgatt 19. Nov 2014 16:28

AW: Klassenvariable initialisieren - Wo
 
Ich würde sagen im Class Constructor.

Hier, ab ca. 6:30 wird es erklärt: https://www.youtube.com/watch?v=gBZvPqdovKs#t=399

Sherlock 19. Nov 2014 16:30

AW: Klassenvariable initialisieren - Wo
 
Klassenvariablen verhalten sich wie globale Variablen und werden mit 0 oder dem jeweiligen Äquivalent (zB string='') initialisiert.

Sherlock

DeddyH 19. Nov 2014 16:33

AW: Klassenvariable initialisieren - Wo
 
http://docwiki.embarcadero.com/RADSt...nkonstruktoren

bernau 19. Nov 2014 16:50

AW: Klassenvariable initialisieren - Wo
 
Oh Mann. Klar.

Danke

bernau 19. Nov 2014 16:54

AW: Klassenvariable initialisieren - Wo
 
Geht aber nicht.

Folgendes in die Klasse im private-Bereich eingefügt.

Delphi-Quellcode:
 
class constructor Create;
Folgende Fehlermeldung-

Code:
[DCC Fehler] EineUnit.pas(29): E2123 PROCEDURE, FUNCTION, PROPERTY oder VAR erwartet

Ach ja. Delphi 2007. Gibt's da den Klassenkonstruktor schon?

DeddyH 19. Nov 2014 16:57

AW: Klassenvariable initialisieren - Wo
 
Oh, das kann sein, dass das erst später eingeführt wurde. Bliebe noch der initialization-Abschnitt mit allen im verlinkten Artikel verbundenen Haken und Ösen.

himitsu 19. Nov 2014 17:09

AW: Klassenvariable initialisieren - Wo
 
Jupp, gibt es erst seit Delphi 2009 oder 2010.

Hach, wie toll wäre es, wenn die Delphi-OH auch die Minimalanforderungen nennen würde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.

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