![]() |
TStringList in eigene Komponente
hi,
ich möchte als eine property vom typ TStringList erstellen
Delphi-Quellcode:
wenn ich days einen wert zuweise, erhalte ich eine schutzverletzung
private
FDays : TStringList; function FDaysChange : TStringList; published property Days : TStringList read FDaysChange write FDays; end; constructor TShedeuleJE.Create(AOwner: TComponent); begin inherited; FDays := TStringList.Create; :( |
Re: TStringList in eigene Komponente
du kannst nicht fdays verwenden :shock:
im create bereich |
Re: TStringList in eigene Komponente
gut, dann sag bitte was ich machen muss / kann / darf / soll :)
ich kenn' mich noch nicht so gut in komponenten entwicklung aus |
Re: TStringList in eigene Komponente
frage sind days die tage mo-so?
|
Re: TStringList in eigene Komponente
genau, soll aber eine StringListe sein, also strings :)
edit: ich will mich nicht nur tage bei der komponente benutzen |
Re: TStringList in eigene Komponente
Hallo!
Mal Ausschnittsweise, das hier funktioniert bei mir:
Delphi-Quellcode:
MfG,
type ttest = class(TObject)
fvar : TStringList; private public constructor create; destructor free; end; {...} constructor ttest.create; begin inherited; fvar := TStringList.Create; end; procedure TForm1.Button1Click(Sender: TObject); VAR test : ttest; begin test := ttest.create; test.fvar.Add('Hallo'); test.Free; end; Peter |
Re: TStringList in eigene Komponente
ich möchte aber fdays als property :)
|
Re: TStringList in eigene Komponente
Schon klar, aber mein Beispiel zeigt, dass Dein Create-Bereich in Ordnung ist. Kiar war da anderer Meinung. Oder ich habe ihn falsch verstanden.
Du solltest evtl. mal den Sourcecode posten, der zu dem Fehler führt. Oder habe ich den verpasst? |
Re: TStringList in eigene Komponente
steht alles im ersten beitrag, mehr braucht man eigendlich nicht wiessen, ausser du willst noch die uses mit dem namen der kompontene ;)
|
Re: TStringList in eigene Komponente
Moin Snoop,
so wie Deine Kompo aussieht, darfst Du Days keinen Wert zuweisen, da Du damit den Zugriff auf die TStringList in FDays unmöglich machst. Der Pointer auf diese StringListe wird überschrieben, und somit kann dessen Free Methode nicht mehr aufgerufen werden um die belegten Resourcen freizugeben. Für den Lesezugriff hingegen brauchst Du keine Methode, da kannst Du auch direkt FDays nehmen. Übrigens ist es üblich, wenn auch nicht zwingend vorgeschrieben, dass die Lesemethode einer Eigenschaft mit Get, und die Schreibmethode mit Set beginnt. F als Prefix ist den internen, privaten, Datenfeldern der Kompo vorbehalten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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