Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TStringList in eigene Komponente (https://www.delphipraxis.net/9463-tstringlist-eigene-komponente.html)

Snoop007 26. Sep 2003 19:15


TStringList in eigene Komponente
 
hi,
ich möchte als eine property vom typ TStringList erstellen
Delphi-Quellcode:
  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;
wenn ich days einen wert zuweise, erhalte ich eine schutzverletzung
:(

kiar 26. Sep 2003 19:25

Re: TStringList in eigene Komponente
 
du kannst nicht fdays verwenden :shock:

im create bereich

Snoop007 26. Sep 2003 19:27

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

kiar 26. Sep 2003 19:33

Re: TStringList in eigene Komponente
 
frage sind days die tage mo-so?

Snoop007 26. Sep 2003 19:42

Re: TStringList in eigene Komponente
 
genau, soll aber eine StringListe sein, also strings :)
edit: ich will mich nicht nur tage bei der komponente benutzen

Christian S. 26. Sep 2003 19:47

Re: TStringList in eigene Komponente
 
Hallo!

Mal Ausschnittsweise, das hier funktioniert bei mir:
Delphi-Quellcode:
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;
MfG,
Peter

Snoop007 26. Sep 2003 20:11

Re: TStringList in eigene Komponente
 
ich möchte aber fdays als property :)

Christian S. 26. Sep 2003 20:28

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?

Snoop007 26. Sep 2003 21:13

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 ;)

Christian Seehase 26. Sep 2003 21:19

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 02:20 Uhr.
Seite 1 von 2  1 2      

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