![]() |
Delphi-Version: 5
Event von Sub-Objekt als Property anzeigen
Hallo,
ich habe eine von TComponent abgeleitete TMyComponent erstellt. Diese besitzt ein TMyObject als Property. Wie kann ich nun das Event "OnMyEvent" des TMyObject im Objekt-Inspektor auf der Seite "Ereignisse" anzeigen lassen. Mein Versuch:
Delphi-Quellcode:
Resultat: OnMyEvent wird im Objekt-Inspektor nicht angezeigt.
TMyObject = class(TObject)
private FOnMyEvent: TNotifyEvent; published property OnMyEvent: TNotifyEvent read FOnMyEvent write FOnMyEvent; end; TMyComponent = class(TComponent) private FMyObject: TMyObject; published property MyObject: TMyObject read FMyObject write FMyObject; end; |
AW: Event von Sub-Objekt als Property anzeigen
Delphi-Quellcode:
statt
public
Delphi-Quellcode:
published
|
AW: Event von Sub-Objekt als Property anzeigen
Liste der Anhänge anzeigen (Anzahl: 2)
Schwebte dir da sowas vor:
Anhang 50969 Dann musst du dir ein Package bauen, in dem du deine Komponente registrierst. Außerdem muss auch dein TMyObject von TComponent abgeleitet werden und ebenfalls im Package registriert werden. Ich habe ein Minimalbeispiel angehängt. Installierst du das Package, so findest du danach in der Palette unter MyDemoComponent TMyComponent und TMyObject. Wenn du das eingebettete Objekt gleich mit der Komponente erzeugen willst, lautet dein Stichwort SetSubComponent. |
AW: Event von Sub-Objekt als Property anzeigen
Zitat:
Zitat:
![]() |
AW: Event von Sub-Objekt als Property anzeigen
Zitat:
|
AW: Event von Sub-Objekt als Property anzeigen
Zitat:
|
AW: Event von Sub-Objekt als Property anzeigen
Zitat:
Oder aber du implementierst einen eigenen PropertyEditor. Ist halt die Frage, ob der Aufwand sich lohnt. |
AW: Event von Sub-Objekt als Property anzeigen
Zitat:
|
AW: Event von Sub-Objekt als Property anzeigen
Wenn es nur darum geht, dem "inneren" Objekt einen Ereignishandler zuzuweisen, kann man den doch einfach durchreichen, oder habe ich das Problem nicht verstanden?
Delphi-Quellcode:
Aus dem Kopf, daher ungetestet.
TMyObject = class(TObject)
private FOnMyEvent: TNotifyEvent; published property OnMyEvent: TNotifyEvent read FOnMyEvent write FOnMyEvent; end; TMyComponent = class(TComponent) private FMyObject: TMyObject; function GetMyEvent: TNotifyEvent; procedure SetMyEvent(const Value: TNotifyEvent); published property OnMyEvent: TNotifyEvent read GetMyEvent write SetMyEvent; end; ... function TMyComponent.GetMyEvent: TNotifyEvent; begin Result := FMyObject.OnMyEvent; end; procedure TMyComponent.SetMyEvent(const Value: TNotifyEvent); begin FMyObject.OnMyEvent := Value; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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 by Thomas Breitkreuz