Re: Vererbung von Methoden verhindern
und wie willst du dann sowas abfangen?
Delphi-Quellcode:
Genau so läuft es ja auch mit den Componenten die zur Designzeit aufs Formular gepackt werden. Sie sind alle von TComponent abgeleitet und werden alle als TComponent behandelt.
procedure DoAnything(Sprite: TSprite);
begin Sprite.Load(1); Sprite.Load(); end; procedure TForm2.cmd1Click(Sender: TObject); var sprite : TSprite2; begin sprite := TSprite2.Create; DoAnything(sprite); end; |
Re: Vererbung von Methoden verhindern
Ich hab ja auch nicht gesagt, dass das ein schönes Design ist, das ich vorgeschlagen hab. Damit wir uns da nicht missverstehen.
Aber auch in deiner DoAnything Methode wird dir die Exception um die Ohren fliegen, da zur Laufzeit der Classenname geprüft wird. Ich sag... Einen Aufruf verhindern kann man nicht, aber man kann entsprechend darauf reagieren. |
Re: Vererbung von Methoden verhindern
ich hab es getestet und es fliegt keine exception sondern die richtige Methode wird auch aufgerufen.
Ich hatte mich eher gewundert das die Methode nicht direkt aufrufbar ist denn es wird ja nirgends überschrieben etc. |
Re: Vererbung von Methoden verhindern
Zitat:
|
Re: Vererbung von Methoden verhindern
ich habs mit Delphi7 Enterprice getestet.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz