AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Ich vermisse Konstanten erst im Konstruktor initialisieren zu können
Thema durchsuchen
Ansicht
Themen-Optionen

Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

Ein Thema von Der schöne Günther · begonnen am 9. Apr 2013 · letzter Beitrag vom 9. Apr 2013
Antwort Antwort
Seite 2 von 3     12 3      
Der schöne Günther

Registriert seit: 6. Mär 2013
6.155 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 11:58
Delphi-Programmierer leben wohl gerne gefährlich, was?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 12:05
Delphi-Programmierer leben wohl gerne gefährlich, was?
Wir SIND gefährlich!
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 12:39
[nicht so ganz ernst gemeint aber es sollte funktionieren]
Man könnte noch ein privates Flag mit führen: ConstIsNil:=True;

Wird die "Konstante" über einen Setter definiert, wird das Flag auf False gesetzt.
Weitere Zuweisungen über den Setter führen zu einem BlueScreen.

Damit dürfte das Überschreiben der Konstante vermieden werden (außer jemand umgeht bewußt die Kindersicherung).
[/nicht so ganz ernst gemeint aber es sollte funktionieren]
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 13:58
[...]
Man könnte noch ein privates Flag mit führen: ConstIsNil:=True;
[...]

Bääh, nee, bitte nicht. Das halte ich ja mal für wirklich dreckig.
Dann lieber sauber kommentieren.

Edit: Ja, ich hab gesehen, dass du das nicht ganz ernst meinst, aber Neulinge klauen sich ja leider immer die blödsten (nicht böse gemeint) Ideen
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 15:02
Delphi-Programmierer leben wohl gerne gefährlich, was?
Nee, die schreiben zusätzlich Unittests und wenn das ganz wichtig ist, dann wird das der erste Testfall
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 15:41
Ich finde auch, man sollte nur hinreichend intelligente Programmierer an die Sourcen lassen.
Das ist aber extreme Arbeitskraftverknappung!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.574 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 15:50
Mir ging es eher darum, dass jemand nicht aus Versehen später etwas ändert, was sich rein logisch nicht ändern kann. Wie beispielsweise die Adresse auf die ein Gerät antworten soll.
Beim Programmieren sollte man das Gehirn eingeschaltet lassen, tut man das nicht, bekommt man eben unerwartete Ergebnisse.

Wenn du es wirklich absichern willst, setze den Wert im Konstruktor und schreibe dazu eine Prüfsumme des Wertes in ein weiteres privates Feld. Wenn dann jemand beides ändert, ist er selbst schuld. Aber eine versehentliche Änderung könntest du so später erkennen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#18

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 16:28
'strict private' bedeutet doch, das die Variable nur innerhalb der Unit, in der sie deklariert ist, für abgeleitete Klassen sichtbar ist.

Den Quelltext gibst Du einfach nicht weiter, dann hat sich die Sache erledigt. Dein Problem ist ja ein generelles Problem, welches so gar nicht lösbar ist. Oder hab ich mal wieder irgendwas verpasst?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#19

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 16:32
'strict private' bedeutet doch, das die Variable nur innerhalb der Unit, in der sie deklariert ist, für abgeleitete Klassen sichtbar ist.

Den Quelltext gibst Du einfach nicht weiter, dann hat sich die Sache erledigt. Dein Problem ist ja ein generelles Problem, welches so gar nicht lösbar ist. Oder hab ich mal wieder irgendwas verpasst?
strict private nur die direkte Klasse kann darauf zugreifen. Weder innerhalb der Unit noch Ableitungen können darauf zugreifen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.617 Beiträge
 
Delphi 12 Athens
 
#20

AW: Ich vermisse Konstanten erst im Konstruktor initialisieren zu können

  Alt 9. Apr 2013, 16:34
'strict private' bedeutet doch, das die Variable nur innerhalb der Unit, in der sie deklariert ist, für abgeleitete Klassen sichtbar ist.
Sicher? Nach meiner Kenntnis ist sie nur in der Klasse sichtbar, zu der sie gehört, aber nicht in abgeleiteten Klassen, selbe Unit oder nicht.

[edit] *Boah eyh*, roter Kasten wieder kaputt (schon das 2. Mal heute) [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      

 

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 00:41 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