Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Vererbung von Methoden verhindern (https://www.delphipraxis.net/114010-vererbung-von-methoden-verhindern.html)

SirThornberry 18. Mai 2008 12:45

Re: Vererbung von Methoden verhindern
 
und wie willst du dann sowas abfangen?
Delphi-Quellcode:
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;
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.

Jelly 18. Mai 2008 13:20

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.

SirThornberry 18. Mai 2008 21:38

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.

Jelly 19. Mai 2008 08:28

Re: Vererbung von Methoden verhindern
 
Zitat:

Zitat von SirThornberry
ich hab es getestet und es fliegt keine exception sondern die richtige Methode wird auch aufgerufen.

:shock: Ich hab die Exception gekriegt, habs gestern extra getestet. Dumm jetzt nur, dass ich das Beispielprojekt nicht gespeichert habe... Ich kanns mir heut abend eventuell nochmals erstellen...

SirThornberry 19. Mai 2008 08:36

Re: Vererbung von Methoden verhindern
 
ich habs mit Delphi7 Enterprice getestet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.
Seite 2 von 2     12   

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