AGB  ·  Datenschutz  ·  Impressum  







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

TStringList in eigene Komponente

Ein Thema von Snoop007 · begonnen am 26. Sep 2003 · letzter Beitrag vom 27. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#1

TStringList in eigene Komponente

  Alt 26. Sep 2003, 20:15
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
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 20:25
du kannst nicht fdays verwenden

im create bereich
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#3

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 20:27
gut, dann sag bitte was ich machen muss / kann / darf / soll
ich kenn' mich noch nicht so gut in komponenten entwicklung aus
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 20:33
frage sind days die tage mo-so?
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#5

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 20:42
genau, soll aber eine StringListe sein, also strings
edit: ich will mich nicht nur tage bei der komponente benutzen
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#6

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 20:47
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
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#7

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 21:11
ich möchte aber fdays als property
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#8

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 21:28
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?
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#9

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 22:13
steht alles im ersten beitrag, mehr braucht man eigendlich nicht wiessen, ausser du willst noch die uses mit dem namen der kompontene
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: TStringList in eigene Komponente

  Alt 26. Sep 2003, 22:19
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:42 Uhr.
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