AGB  ·  Datenschutz  ·  Impressum  







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

Property "Readonly" machen

Ein Thema von Jonelmeier · begonnen am 25. Jun 2009 · letzter Beitrag vom 26. Jun 2009
Antwort Antwort
Jonelmeier

Registriert seit: 27. Sep 2007
Ort: Hamburg
96 Beiträge
 
Delphi XE Starter
 
#1

Property "Readonly" machen

  Alt 25. Jun 2009, 22:08
Hi!

Kurze Frage:
Ist es möglich, eine Property einer eigenen Klasse nach außen irgendwie als "ReadOnly" zu deklarieren?

Ich würde diese Property gerne innerhalb der Klasse verändern, aber eine Änderung von außen nicht zulassen.

Gruß aus Hamburg!
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Property "Readonly" machen

  Alt 25. Jun 2009, 22:11
Einfach der Property kein Write mitgeben und intern das Feld und nicht die Property ändern.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Property "Readonly" machen

  Alt 25. Jun 2009, 22:11
Einfach den Write Abschnitt weglassen?

Ok, da war einer schneller, dann pimpe ich meine Antwort einfach:
Delphi-Quellcode:
// statt
property MyInteger : Integer Read GetMyInteger Write SetMyInteger;
// so
property MyInteger : Integer Read GetMyInteger;
Am besten nach Deklaration in der Klasse Strg-Shift-C um den Rest automatisch anlegen zu lassen.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Property "Readonly" machen

  Alt 25. Jun 2009, 22:12
Delphi-Quellcode:
type
  TMyClass = class
  private
    FData:integer;
  public
    constructor create;
    property ReadOnlyData:integer read FData;
  end;

:

constructor TMyClass.create;
begin
  FData:=1;
end;
  Mit Zitat antworten Zitat
Jonelmeier

Registriert seit: 27. Sep 2007
Ort: Hamburg
96 Beiträge
 
Delphi XE Starter
 
#5

Re: Property "Readonly" machen

  Alt 25. Jun 2009, 22:15
Ja, natürlich

Danke an euch!
Jonas
  Mit Zitat antworten Zitat
webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Property "Readonly" machen

  Alt 26. Jun 2009, 07:12
...oder nachträglich, indem du via RTTI die SetProc einer published property nil setzt
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Property "Readonly" machen

  Alt 26. Jun 2009, 07:39
Zitat von webcss:
...oder nachträglich, indem du via RTTI die SetProc einer published property nil setzt
Was natürlich nichts dran ändert, dass jeder die Eigenschaft im Quellcode setzen kann.
Uli Gerhardt
  Mit Zitat antworten Zitat
webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Property "Readonly" machen

  Alt 26. Jun 2009, 09:37
Zitat von uligerhardt:
Was natürlich nichts dran ändert, dass jeder die Eigenschaft im Quellcode setzen kann.
bezieht sich auch vor allem auf geerbte Eigenschaften (wo man vielleicht keinen Quellcode hat).
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
  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 07: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