Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Feldvariable in Klasse Initialisieren (https://www.delphipraxis.net/87622-feldvariable-klasse-initialisieren.html)

TankWart 3. Mär 2007 08:13


Feldvariable in Klasse Initialisieren
 
guten Morgen zusammen,
ich würde gerne eine Integer Feldvariable direkt in der dazugehörigen Klasse mit dem Wert 1 initialisieren.
Ist das irgendwie möglich und wo mache ich dann die Initialisierung?
Die Varible ist in unten stehende Klasse enthalten und heist FeditEventID.

Delphi-Quellcode:
interface
  type
    TifEditEvent = class
    private
      FeditEventID: Integer;
    public
      property editEventID: Integer read FeditEventID write FeditEventID;
    end;

Ich danke schon mal im Voraus


Gruß

TankWart

jmd anders 3. Mär 2007 09:37

Re: Feldvariable in Klasse Initialisieren
 
also ich würde das im constructor der klasse machen

Jelly 3. Mär 2007 09:43

Re: Feldvariable in Klasse Initialisieren
 
Zitat:

Zitat von jmd anders
also ich würde das im constructor der klasse machen

Ne andere möglichkeit gibts ja auch nicht :mrgreen:

Delphi-Quellcode:
interface
  type
    TifEditEvent = class
    private
      FeditEventID: Integer;
    public
      Constructor Create ; override ;
      property editEventID: Integer read FeditEventID write FeditEventID;
    end;

implementation

constructor TidEditEvent.Create ;
begin
     inherited ;
     FeditEventID := 4711 ;
end ;

Pfoto 3. Mär 2007 09:50

Re: Feldvariable in Klasse Initialisieren
 
Hallo!

ich mache das zwar auch immer im Constructor, habe jedoch
auch mal folgende Sache gesehen (und noch nicht ausprobiert):
Delphi-Quellcode:
property editEventID: Integer read FeditEventID write FeditEventID default 1;
Wäre das nun das gleiche?

EDIT
Habe gerade das gefunden aus der Delphi-Hilfe:
"Eigenschaftswerte werden nicht automatisch auf den Standardwert initialisiert, d. h. die Standarddirektive steuert nur das Speichern von Eigenschaftswerten in der Formulardatei und nicht das Speichern des ersten Werts der Eigenschaft in einer neu erstellten Instanz."


Gruß
Pfoto

Jelly 3. Mär 2007 11:22

Re: Feldvariable in Klasse Initialisieren
 
Wenn du published Eigenschaften einer Komponente mit einem default Wert versiehst, so wird diese nicht in der .dfm Datei gespeichert, falls die Eigenschaft diesen Wert annimmt. default heisst aber nicht, dass die Eigenschaft mit dem Wert initialisiert wird.

TankWart 3. Mär 2007 14:31

Re: Feldvariable in Klasse Initialisieren
 
Danke für die schnellen Antworten,
haben mir alle was gebracht.

Gruß

TankWart


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 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