![]() |
Re: Kind as Opa innerhalb der Deklerartion
AUA. :wall:
Wenn man sowas braucht, dann stimmt ganz einfach die Klassenhierarchie nicht. Hier gilt halt nicht TSohn ![]() |
Re: Kind as Opa innerhalb der Deklerartion
Zitat:
Ich habe das auch noch nie gebraucht, aber es ist in mehreren anderen Programmiersprachen möglich. Warum soll denn hier grad Delphi der Maßstab sein (außer, dass wir hier in einem Delphi-Forum sind)? Ich gebe zu, dass mir diesbezüglich theoretisches Wissen fehlt. Ich würde diesen Fakt (da er des öfteren in Delphi-Foren auftaucht) nur mal geklärt wissen. Nicht, dass das einer mal behauptet hat und alle anderen plappern das nur nach. |
Re: Kind as Opa innerhalb der Deklerartion
Zitat:
Zitat:
Code:
typedef Klassenname inherited; // oder base oder super oder ...
Zitat:
|
Re: Kind as Opa innerhalb der Deklerartion
Zitat:
|
Re: Kind as Opa innerhalb der Deklerartion
Zitat:
Ist aber auch egal, ob's die Sprache freiwillig hergibt oder per Assembler - bevor ich sowas mache, überleg ich mir nochmal, ob meine Klassenhierarchie stimmt. So, meine 2 Cent. :-D |
Re: Kind as Opa innerhalb der Deklerartion
Wenns den unbedingt sein muss ...
Delphi-Quellcode:
gehts auch ohne Assembler.
type
TOpa = class(TObject) private FAlter: Integer; public procedure SagWas; virtual; property Alter: Integer read FAlter write FAlter; end; TVater = class(TOpa) public procedure SagWas; override; end; TKind = class(TVater) public procedure SagWas; override; end; TSagWasProcedure = procedure (Self: Pointer); procedure TOpa.SagWas; begin showmessage(Format('Opa ist %d Jahre alt.', [Alter])); end; procedure TVater.SagWas; begin showmessage(Format('Vater ist %d Jahre alt.', [Alter])); end; procedure TKind.SagWas; var Proc: TSagWasProcedure; begin // showmessage(Format('Kind ist %d Jahre alt.', [Alter])); Proc := @TOpa.SagWas; Proc(Self); end; procedure TFTest.Button6Click(Sender: TObject); var K: TKind; begin K := TKind.Create; K.Alter := 10; K.SagWas; K.Free; end; |
Re: Kind as Opa innerhalb der Deklerartion
Zitat:
Mit pusad "sichere" ich nur aus sicherheitsgründen die ganzen Register ... Man weiß ja nie, was zwischendrin so alles geschehen kann! MfG |
Re: Kind as Opa innerhalb der Deklerartion
Zitat:
Aber, wie gesagt, es geht mit ASM und ohne ASM, aber nicht ohne Tricksen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 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