![]() |
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).
|
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. |
Re: TStringList in eigene Komponente
Zitat:
schaue dir doch mal den Source vom TMonthCalendar an. Dort siehst Du wie Borland das gemacht hat. Dann brauchst Du keine TStringList dafür. |
Re: TStringList in eigene Komponente
warum nicht so:
Delphi-Quellcode:
und schon hast du eine eigenschaft treffen im OI
TTage = (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag);
deinecomponente = class(TComponent) private Ftag : TTage; published property Treffen : TTage read Ftag write Ftag; raik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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