Klassenkonstruktor ....

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
WeePee
Beiträge: 25
Registriert: So 8. Dez 2013, 13:46

Klassenkonstruktor ....

Beitrag von WeePee »

Hallo liebe Pascal-Gemeinde!

Gibt es eine Möglichkeit festzustellen, ob der Code einer Klasse zur Laufzeit zum ersten Mal durchlaufen wird?

Ich müsste einige Initialisierungen von statischen Attributen vornehmen.

Vielen Dank und Grüße
Wolfram

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2817
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Klassenkonstruktor ....

Beitrag von m.fuchs »

Der beste Ort für die Initialisierung wird wohl der initialization - Teil in der entsprechenden Unit sein.

Siehe auch: http://www.freepascal.org/docs-html/ref ... 20500016.2
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

WeePee
Beiträge: 25
Registriert: So 8. Dez 2013, 13:46

Re: Klassenkonstruktor ....

Beitrag von WeePee »

Danke, das scheint mir eine gute Idee zu sein.

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: Klassenkonstruktor ....

Beitrag von theo »

Irgendwie verstehe ich deine Frage überhaupt nicht.
Wenn das so gemeint ist, wie es jetzt aussieht, warum machst du deine Initialisierungen nicht in OnCreate bzw. im überschriebenen Create?
Wenn es so gemeint ist wie es dasteht, also pro KLASSE nicht pro INSTANZ gibt es "class var".

??

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Klassenkonstruktor ....

Beitrag von Socke »

theo hat geschrieben:Irgendwie verstehe ich deine Frage überhaupt nicht.
In einigen objektorientierten Programmiersprachen gibt es Konstruktoren und Destruktoren, die jeweils einmal aufgerufen werden, wenn die Klasse selbst wird (keine Instanz). Dazu geöhrt zum Beispiel Java und PHP.
In Pascal wäre die Umsetzung gar nicht so abwegig, da die Klassen selbst erst zur Laufzeit im Speicher erzeugt werden.

Der Vorteil wäre eine vollstänidge(re) objektorientierung der Sprache, da man für (klassen)globale Initialisierung weiterhin in der Klasse selbst bleibt. Beim Initialization-Abschnitt ist man selbst Herr der Reihenfolge und Auflösung von (zeitlichen) Abhängigkeiten.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: Klassenkonstruktor ....

Beitrag von theo »

@Socke: Ja. In diesem Bereich gibt es sicher einige Fragen und Antworten
Mir ist aber immer noch nicht klar, was WeePee eigentlich gemeint hat.

Antworten