![]() |
komponente selber erstellen!!???!!!
ich hab mal versucht ein komponente selber zu erstellen!
ich sag mal ebend vobei es sich genau dreht: also ich brauch sowas wie eine ComboBox die daten aus einer tabelle lesen kann(wie die DBLookUpComboBox) und in der ich items add'en kann(wie die normale ComboBox) so jezz hab ich mal ein wenig damit beschäftigt und komm einfach nicht mehr klar!! also ich hab bis jezz die klasse abgeleitet TLookCombo = class(TDBLookupComboBox) dann die procedure public procedure ADDItems (:String); { Public-Deklarationen } und nun? wie leg ich fest das die komponente die zusätzliche eigenschaft 'additem wie in der normalen combobox erhält? es wäre toll wenn mir jemand das ganze mal von anfang bis ende erläutern könnte!! danke moon |
Re: komponente selber erstellen!!???!!!
Moin Moon,
ich versteh' jetzt Dein Problem nicht. Wenn Du eine Methode unter Public hinzufügst, steht sie anschliessend auch zur Verfügung. Da musst Du nichts weiter machen. |
Re: komponente selber erstellen!!???!!!
naja aber irgendwo muss ich doch festlegen welche eigenschaft wie benutzt wird!
also zB bei der Combobox kann ich ja items hinzufügen!! bei der lookupcombob... nicht aber irgendwie muss ich doch diese eigenschaft rüber bekommen blos wie versteh ich nicht!! verstehste wie ich mein?? wo leg ich das den fest (und vorallem wie leg ich das fest) mfg moon |
Re: komponente selber erstellen!!???!!!
Moin Moon,
Items sind ein private Feld in der ComboBox, abgeleitet vom Typ TStrings. I.d.R. werden die internen Datenbereiche einer Kompo als private Felder implementiert, und als Properties dann nach aussen hin zugänglich gemacht. Ist die Eigenschaft selber wieder ein Objekt (wie eben bei den Items), so dienen die Methoden eben dieses Objektes dazu die Eigenschaft zu manipulieren (z.b. Einträge hinzuzufügen). |
Re: komponente selber erstellen!!???!!!
oh man das versteh ich nicht ganz richtig!
also ich man das ja noch nicht lange! Properties????? ich hab ja schon so einiges gehört aber das kenn ich net!! kannste mir das mal erklären! mfg moon |
Re: komponente selber erstellen!!???!!!
Moin Moon,
mal ein Beispiel:
Delphi-Quellcode:
Das wäre jetzt ein Objekt, dass eine Eigenschaft Lines hat, die wiederum vom Typ TStringList ist.
type
TMyObject = class(TObject) private FslLines : TStringList; public constructor Create; destructor Destroy; override; property Lines : TStringList read FslLines; end; implementation {$R *.DFM} constructor TMyObject.Create; begin inherited; FslLines := TStringList.Create; end; destructor TMyObject.Destroy; begin FreeAndNil(FslLines); inherited; end; procedure TForm1.Button1Click(Sender: TObject); var mo : TMyObject; begin mo := TMyObject.Create; try mo.Lines.Add('TEXT'); ShowMessage(mo.Lines[mo.Lines.Count-1]); finally FreeAndNil(mo); end; end; Lines kann alle Methoden und Eigenschaften der Klasse TStringList verwenden. Die müsstest Du also nicht selber implementieren. |
Re: komponente selber erstellen!!???!!!
Vielleicht hilft dir meine Ausarbeitung über OOP in Delphi ein bisschen weiter:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 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