![]() |
Inkonsequente Vererbung oder Missverständnis
Hallo,
ich frage mich schon einige Zeit, warum ich Units, die ich im Ahnen mittels
Delphi-Quellcode:
eingebunden habe, im Erben erneut einbinden muss. :wiejetzt:
uses
Bislang ist mir noch kein plausibler Grund dafür eingefallen. Vielleicht kann mir ja hier jemand auf die Sprünge helfen. :glaskugel: |
Re: Inkonsequente Vererbung oder Missverständnis
Frage: Was hat ein uses mit Vererbung zu tun?
Verbung betrifft imho Klassen und nicht Units. |
Re: Inkonsequente Vererbung oder Missverständnis
Vielleicht muss das mal ein wenig konkreter formulieren, damit mein Problem klarer erkennbar ist:
Ich erstelle mir ein Ahnen-Form, in dem ich zusätzlich die Units Math, StrUtils und DateUtils über die uses-Klausel einbinde. Warum muss ich jetzt in jedem Erben des Forms die Units Math, StrUtils und DateUtils neu einbinden, wenn ich sie benötige?? Das ist für mich inkonsequent, weil der Ahne die Units ja schon kennt. |
Re: Inkonsequente Vererbung oder Missverständnis
Das hat nichts mit der Klasse zu tun, sondern mit der Unit. Und die Unit steht ganz für sich alleine da.
|
Re: Inkonsequente Vererbung oder Missverständnis
Zitat:
Aber was würde dagegen sprechen, die im Ahnen eingebundenen Units auch für Erben zugänglich zu machen, ohne das man sie im Erben neu einbinden muss? Ich würde da folgende Vorteile sehen:
|
Re: Inkonsequente Vererbung oder Missverständnis
Wer sagt denn, daß du alle units der Ahnen besitzt? :gruebel:
Kann ja sein das du nur die .dcu hast/bekommst. Wie soll Delphi dann darauf reagieren!? :gruebel: |
Re: Inkonsequente Vererbung oder Missverständnis
Zitat:
Zitat:
|
Re: Inkonsequente Vererbung oder Missverständnis
Hallo
> Wer sagt denn, daß du alle units der Ahnen besitzt? Grübelnd... < > Kann ja sein das du nur die .dcu hast/bekommst. < > Wie soll Delphi dann darauf reagieren!? < Hm ??? Was hat denn uses mit dcu/pas zu tun? Wenn ich nur eine myunit.dcu habe, kann ich trotzdem
Delphi-Quellcode:
schreiben.
uses myunit;
wenn das nicht ginge, würden die kommerziellen Anbieter, die ja den Quellcode nicht rausrücken wollen, ganz schön alt aussehen. Nun zudem uses. Ein Punkt bei Vererbung ist, einmal im Base schreiben und den Code+Daten dann bei der Ableitung benutzen (Wiederverwendung). Wenn bsp-weise die unit Math in der Base-Klasse für irgendeine Berechung benutzt wird, muss sie natülich in der abgeleiteten Klasse niht nochmal eingebunden werden. Ausnahme: auch die abgeleitete Klasse hat (neuen Code), der die unit Math benutzt. Heiko |
Re: Inkonsequente Vererbung oder Missverständnis
Zitat:
Das heisst MyUnit benutzt MySecretUnit, Du leitest von einer Klasse ab die in MyUnit.dcu steckt. Nun kann aber der Inhalt von MySecretUnit (du hast weder .pas noch .dcu) nicht in der Ableitung genutzt werden. Darum gings ;-) |
Re: Inkonsequente Vererbung oder Missverständnis
Die DCU kann natürlich auch in einer BPL/DCP liegen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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