![]() |
Unit konzept
Guten Morgen
Ich habe mal eine Grundlegende Frage zu units. Wieviele Klassen (type definitionen) sollte eine Unit maximal besitzen? Also bis jetzt habe ich es immer so gemacht, dass ich pro Unit eine Klasse hatte. Wie macht ihr das so? |
Re: Unit konzept
Ich mache das genauso. Schon allein der Übersicht halber.
Pro Unit gibt es eine Klasse mit der Implementierung, und gut. Dann weiss man immer direkt, wo man suchen muss. Ich mag es nicht, wenn in einer Unit mehrere Klassen sind, denn wenn man dann durch die Implementierung scrollt, und eine Methode sucht, dann muss man auch noch drauf achten, in der richtigen Klasse zu sein. Deswegen: pro Unit eine Klasse |
Re: Unit konzept
ja bin ich der selben meinung. das ist eigentlich inzwischen standard pro unit eine klasse
|
Re: Unit konzept
:shock:
Ich nehme da mal als Beispiel Ableitungen von TList und TListItems. Versucht mal, die beiden abzuleiten und in getrennte Units zu packen :roll: Es gehören genau so viele Klassen in eine Unit, wie sie thematisch und programmatisch zusammengehören. Um die Übersicht zu erhöhen kann man dann die Implementierungen der einzelnen Klassen in separate include-Files auslagern, so das in der Unit-Datei selber nur noch die Klassendeklarationen stehen. |
Re: Unit konzept
includefile? wie sieht das aus?
|
Re: Unit konzept
du schreibst den code in eine extra-file und fügst dann oben (ich glaub' nach IMPLEMENTATION {$I filename} ein
Delphi-Quellcode:
in diesem fall müsste natürlich die ausgelagerten prozeduren in einer datei namens 'procex.inc' im selben ordner gespeichert werden...!
IMPLEMENTATION
{$I procex.inc} cya (sorry, wenn etwas unverständlich, hatte nicht viel zeit) |
Re: Unit konzept
Du kannst Include-Datei überall einbinden, solange es nicht in einem Anweisungsblock ist! Der Inhalt der Datei erscheint dann an dieser Stelle so, als wäre er direkt in die Unit reingeschrieben worden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22: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