Thema: Delphi Ist das ein D4 Bug ?

Einzelnen Beitrag anzeigen

tommie-lie
(Gast)

n/a Beiträge
 
#21

Re: hmm,

  Alt 29. Jul 2003, 22:23
Zitat:
die Frage ist warum man einen Dummywert übergeben MUSS und ohne den Dummy einen Typefehler bekommt.
Weil man normalerweise keinen Dummywert übergibt. Übergeben wird automatisch der Wert, der dem Property zugewiesen wurde.
Sobald du schreibst
MyInstance.MyProperty := 'Hello' wird der String "Hello" an die prozedur "SetMyProperty" als Parameter übergeben. Vollkommen automatisch, da soll man gar keine Dummyparameter angeben.
Der Typenfehler kommt, weil das property vom Typ String ist. Wenn du Setze_Doc_Type ohne Parameter deklarierst, ist "kein Parameter" natürlich nciht mehr kompatibel mit "String"

Zitat:
Ich mag es nicht wenn der Compiler mich erst anmotzt aber dann einen Dummy schluckt.
.
Was das für genaue Ursachen hat, weiß ich immo auch nicht genau. Dazu müsste ich Delphi starten, was aber eine Option ist, die mir zur Zeit leider nicht zur Verfügung steht. Ich tippe aber einfahc mal darauf, daß man der Prozedur einen zweiten Hilfsparameter angeben kann, falls du zum Beispiel die gleiche Set-Methode für mehrere properties verwendest, damit die Methode weiß, welches Property es war (beispielsweise bei mehreren Hosenangaben, die alle die gleichen Farbwerte erhalten können ). Dadurch könnte der Compiler direkte Übergaben von Werten akzeptieren, aber wie gesagt, genaueres kann ich dir da immo nicht sagen. Wenn cih dran denke, werde ich nachher der Sache nachgehen.
  Mit Zitat antworten Zitat