![]() |
Re: Inkonsequente Vererbung oder Missverständnis
Hallo Phoenix,
das trifft aber nur auf Funktionen/Prozeduren zu, bei Klassen kommt es darauf an.
Delphi-Quellcode:
jetzt klappt natürlich folgendes
in MySecretUnit.dcu
TMySecretClass = class protected procedure Test1; public procedure Test2; end; in MyUnit.dcu TMyUnitClass = class(TMySecretClass) end; in MyUnit2.pas TMyUnitClass2 = class(TMyUnitClass)
Delphi-Quellcode:
var
MyClass: TMyUnitClass2; begin MyClass:= TMyUnitClass2.Create; MyClass.Test1; MyClass.Test2; Wichtig ist natürlich, dass die Methode public oder protected ist. Heiko |
Re: Inkonsequente Vererbung oder Missverständnis
Hallo zusammen,
auch ich bin der Meinung, daß die "Unit-Vererbung" inkonsequent ist. In uralten Pascal Zeiten war es so, daß uses-Deklarationen im Interface nach "oben" durchgereicht wurden. z.B.
Delphi-Quellcode:
Seit D5(?) funktioniert das nicht mehr, jetzt muß es so aussehen:
UNIT Mathe
interface procedure Mathe1; .... UNIT Berechnung; interface uses Mathe; procedure Berechne1; ....... UNIT MachWas; .. implementation uses Berechnung; procedure machwas1; begin Mathe1; Berechne1; end;
Delphi-Quellcode:
Obwohl, wenn ich mich recht erinnere, in der Online-Hilfe das "alte" Verhalten als immer noch gültig beschrieben wird.
UNIT Mathe
interface procedure Mathe1; .... UNIT Berechnung; interface uses Mathe; procedure Berechne1; ....... UNIT MachWas; .. implementation uses Berechnung,Mathe; procedure Machwas1; begin Mathe1; Berechne1; end; Oder habe ich da was falsch verstanden? Gruß K-H |
Re: Inkonsequente Vererbung oder Missverständnis
Die OH von Delphi 5 meint:
Zitat:
|
Re: Inkonsequente Vererbung oder Missverständnis
Danke!
Wer lesen kann ist klar im Vorteil! Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 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