Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Property von Komponente überschreiben (https://www.delphipraxis.net/129077-property-von-komponente-ueberschreiben.html)

Angel4585 12. Feb 2009 07:41


Property von Komponente überschreiben
 
Hallo,

ich bastel an einer eigenen Komponente die von TXMLDocument erbt.

Wenn das Property Active gesetzt wird, möchte ich nun etwas ausführen.
Aber wie überschreibe ich das Property sodass ich was ausführen kann und gleichzeitig das Property wie in TXMLDocument gesetzt wird?

Wenn ich

Delphi-Quellcode:
property Active : Boolean read GetActive write SetActive;

function TMyXMLDocument.GetActive: Boolean;
begin

end;

procedure TMyXMLDocument.SetActive(const Value: Boolean);
begin

end;
mache, wie kann ich dann das ursprüngliche Property setzen?

sirius 12. Feb 2009 07:52

Re: Property von Komponente überschreiben
 
Du überschreibst einfach die Methode setActive

himitsu 12. Feb 2009 08:08

Re: Property von Komponente überschreiben
 
Muß diese dann nicht überschrieben (override) werden,
ansonsten dürfte sich das Property doch eigentlich noch an die alte Methode wenden? :gruebel:

PS: intern wird SetActive nicht

> virtual oder dynamic + override

wie wäre es, wenn du dein Vorhaben mit etwas von denen vrsuchst zu lösen?
.BeforeOpen, .AfterOpen, .BeforeClose, .AfterClose, .BeforeNodeChange oder .AfterNodeChange


[add]
ahh, ich seh grad, SetVirtual ist sogar als Virtual definiert,
hatt ich jetzt nicht erwartet :shock: ... möglich wäre es demnach doch (Stichwort Override) :angel2:

Angel4585 12. Feb 2009 08:25

Re: Property von Komponente überschreiben
 
SetVirtual? :gruebel:

Thx euch beiden mir ist auch zwei Minuten nach dem Post die Idee gekommen einfach SetActive zu überschreiben, funzt sehr gut :)

himitsu 12. Feb 2009 08:32

Re: Property von Komponente überschreiben
 
aber wie gesagt, reicht die .BeforeOpen/.AfterOpen und .BeforeClose/.AfterClose denn nicht auch?

PS: diese Ereignisse werden auch in SetActive ausgelöst ... jenachdem ob True oder False gesetzt wird.

Angel4585 12. Feb 2009 10:23

Re: Property von Komponente überschreiben
 
Würden den Zweck zwar erfüllen, aber ich möchte das ja in der Komponente drin haben. wenn jetz jemand die Kompo verwendet un ein AfterOpen verwenden will seh entweder ich oder er alt aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 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