Delphi-PRAXiS
Seite 2 von 2     12   

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)

Ghostwalker 26. Sep 2003 21:33

Re: TStringList in eigene Komponente
 
außerdem hab ich mal gelesen das man TSTRINGS für die Instanz nehmen soll nicht TStringlist...fragt mich bitte nicht warum genau das so ist....(hat soweit ich mich entsinne was mit COM zu tun).

Christian Seehase 26. Sep 2003 22:07

Re: TStringList in eigene Komponente
 
Moin Ghostwalker,

TStrings stellt eine abstrakte Klasse dar, da sie abstrakte Methoden enthält.
Dies sind Methoden, von denen nur der Kopf deklariert wurde, die in der Klasse aber nicht implementiert wurden.
Abstrakte Klassen sollte man deshalb nur als Basis für eigene Ableitungen verwenden, in denen man die abstrakten Methoden "mit Leben" füllt. Man sollte i.d.R. aber niemals Instanzen von einer abstrakten Klasse bilden, da ein Zugriff auf eine abstrakte Methode zwangsläufig in einer Access Violation mündet.
Ein anderer Anwendungsfall wäre der Typ eines Parameters, so dass man alle von, z.B., TStrings abgeleiteten Klassen als Parameter übergeben kann. Dann kann man z.B. Memo.Lines aber auch eine TStringList als Parameter übergeben.

Soll nun also eine Instanz der Stringliste gebildet werden darf man nicht TStrings verwenden.

Sharky 27. Sep 2003 08:54

Re: TStringList in eigene Komponente
 
Zitat:

Zitat von Snoop007
hi,
ich möchte als eine property vom typ TStringList erstellen
...

Hai Snoop,

schaue dir doch mal den Source vom TMonthCalendar an.
Dort siehst Du wie Borland das gemacht hat. Dann brauchst Du keine TStringList dafür.

kiar 27. Sep 2003 09:59

Re: TStringList in eigene Komponente
 
warum nicht so:
Delphi-Quellcode:
TTage = (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag);

deinecomponente = class(TComponent)
  private
   Ftag : TTage;

  published
   property Treffen : TTage read Ftag write Ftag;
und schon hast du eine eigenschaft treffen im OI

raik


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.
Seite 2 von 2     12   

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