![]() |
Re: hmm,
Zitat:
Sobald du schreibst
Delphi-Quellcode:
wird der String "Hello" an die prozedur "SetMyProperty" als Parameter übergeben. Vollkommen automatisch, da soll man gar keine Dummyparameter angeben.
MyInstance.MyProperty := 'Hello'
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:
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. |
Re: Ist das ein D4 Bug ?
Hi Leute.
Ich glaube JoelH hat ein Verständnisproblem mit der Sichtbarkeit von Klassenelementen. Hier mal die Delphi-Hilfe zu diesem Thema. Vielleicht wird dann einiges klarer. In einer Klasse hat jedes Element ein Sichtbarkeitsattribut, das durch die reservierten Wörter private, protected, public, published und automated angegeben wird. Im folgenden Beispiel wird die Eigenschaft Color als published deklariert: published property Color: TColor read GetColor write SetColor; Die Sichtbarkeit bestimmt, wo und wie auf ein Element zugegriffen werden kann. private entspricht der geringsten, protected einer mittleren und public, published und automated der größten Sichtbarkeit. Der ganze Zauber mit Property und read /write ist nur dafür da, dann Klassenvariablen im "öffentlichen" Umgang für schreiben und lesen einzuschrängen oder in der Bearbeitung in der Klasse zugriffsfähig zu machen (siehe mein Beitrag weiter oben). Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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