![]() |
Erweiterung für zwei Klassen gleichzeitig schreiben
Hallo!
Ich habe eine kleine Erweiterung für die ListBox geschrieben mit der man die Items per Drag&Drop vertauschen kann.
Delphi-Quellcode:
Dasselbe möchte ich jetzt auch für die CheckListBox haben. Ich kann den zusätzliche Code von meiner SwapListBox 1:1 in SwapCheckListBox kopieren und es funktioniert. Allerdings ist das kein besonders guter Programmierstil, sobald ich eine kleine Änderung in SwapListBox mache muss ich die SwapCheckListBox anpassen.
TSwapListBox = class(TCustomListBox)
Wie könnte man das besser machen? Grüße blablab |
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
Das kommt drauf an, was du von der Listbox brauchst.
Wenn du nur public-Eigenschaften und Funktionen nimmst, könntest du einen class helper für beide Basisklassen schreiben. |
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
ich bin mir nicht sicher... wie sieht so ein class helper aus?
|
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
Nach meinem Verständnis müsstest Du die SwapCheckList... von der SwapList.. ableiten.
Also den Source der CheckList... nehmen und die abgeletete Klasse ersetzen. Gruß K-H |
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
Class Helper gibt es m.E. ab D 2009.
Ein ClassHelper ist quasi eine Funktion implementiert quasi Funktionen, die auf eine Klasse "aufgepfropft" wird werden. Mit Classhelpern kannst Du Klassen gewissermaßen um Funktionen erweitern. In den Funktionen kannst Du auf öffentliche Eigenschaften der Klasse zugreifen. Ich denke nicht, dass das in Deinem Fall der richtige Weg ist. Du könntest ggf. Deinen Quelltext in externen Files ablegen und mit Include in beiden Units einbinden: {$INCLUDE 'MyFunction.inc'} Noch sauberer wäre es wohl, eine spezielle Funktion mit allen benötigten Parametern in einer externen Unit abzulegen und diese Funktion aus beiden Klassen heraus aufzurufen. Das ließe sich dann auf jeden Fall auch vernünftig debugen. |
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
Sicher, daß die nicht schon ab 2006 gingen? (Record Helper brauchten etwas länger, glaub ich)
|
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
Laut
![]() |
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
Es kommt zwar immer näher, aber reicht noch nicht. Ich hab Delphi7 :-D
Habs jetzt nach p80286s Vorschlag gemacht. Danke für die Antworten! |
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
Es ist näher, als du denkst ... D2006 hat sozusagen einen leicht aufgemotzten D7-Compiler [v7.2] .
![]() |
AW: Erweiterung für zwei Klassen gleichzeitig schreiben
Zitat:
![]() Da steht auch Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 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