AGB  ·  Datenschutz  ·  Impressum  







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

Ist das ein D4 Bug ?

Ein Thema von JoelH · begonnen am 28. Jul 2003 · letzter Beitrag vom 31. Jul 2003
 
tommie-lie
(Gast)

n/a Beiträge
 
#17

Re: hmm,

  Alt 29. Jul 2003, 20:16
Zitat von JoelH:
für mich ist eine Property etwas was von einer Klasse zur Verfügung gestellt wird. Die Farbe der Hose etc.
Genau!
Und wenn ich sage Hose.Farbe := rot, dann verlange ich, daß nachher in diesem Property "rot" drinsteht.

[/quote]Bei mir ist es der Typ des Dokuments, welche man kennen sollte aber nicht verändern darf[/quote]
Dafür sind read-only-Properties da, die haben keine write-Prozedur und denen darf man keinen Wert zuweisen.

Zitat:
Also Property public aber die Variable Private und die Schreibmethode darauf auch.
Hast du nicht eben gesagt, man soll ihn nicht verändern? Was hat denn dann da überhaupt eine Schreibmethode zu suchen? Reichlich wenig, oder?

Zitat:
Natürlich war es ein Designfehler da eh nur die Klasse auf die Var zugreifen kann.
Nein, daß ist nicht der Fehler. Properties sind ja dazu da, daß man nicht die Variablen direkt angeben kann, diese also private halten kann.
Der Fehler ist, daß du dem User erlaubst, etwas zu schreiben, ohne daß das, was er geschrieben hat, in irgendeiner Form berücksichtigt wird. Das ist der Fehler.

Zitat:
Allerdings rechtfertigte dies, in meinen Augen nicht, warum ich was übergeben muss was ich, nachweisslich, nicht brauche.
Du solltest es ja brauchen. D.h. du musst es brauchen, weil der Compiler dies nunmal erwartet.
Deine Prozedur:
Delphi-Quellcode:
procedure Setze_Doc_Type(s:string);
var rueckgabe : String;
begin
  rueckgabe := '';
  if (Document = 'xyz') then
    rueckgabe := 'xy-Typ'
  else
    rueckgabe := 'unknown';
  p_Doc_Type := rueckgabe;
end;
ist eher eine read-Methode (evtl sogar als Fragment für die Funktion, zum Laden des Dokumentes (LoadFromFile?)), aber alles andere als etwas, um einen Wert in ein Property zu schreiben.

Zitat:
Auch wenn der Designfehler da ist gibt es keinen Grund einen inkompatiblen Typ zu melden da man , nachweislich, einfach einen Dummy übergeben kann.
Doch, das ist ein Grund. Denn der Compiler will den Wert irgendwo übergeben. Wohin soll er das machen, wenn er keinen Parameter findet, mit dem er das machen könnte?
  Mit Zitat antworten Zitat
 


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 08:03 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