![]() |
Event erweitern
Moin,
Sagen wir mal meine Klasse1 hat folgendes Event: "OnMessage" und ich möchte in einer Nachfolgerklasse dieses Event erweitern, z.B "ShowMessage('bla')" soll aufgerufen werden sobald das Event auftritt... Nur wie mach ich das in einer Nachfolgerklasse? Eine Methode zum überschreiben gibts ja nicht, weil: Event halt. |
Re: Event erweitern
Du kannst das Event sehr wohl überschreiben, aber nicht in dem herkömmlichen Sinne.
In der Klasse1 muss ja eine Methode implementiert sein, die überprüft, ob eine Event-Methode ausgeschrieben wurde. Diese sieht im Allgemeinen ungefähr so aus:
Delphi-Quellcode:
Somit kannst du die DoMessage-Methode überschreiben, und dort dein ShowMessage einbauen.
procedure TKlasse1.DoMessage;
begin if Assigned(FOnMessage) then FOnMessage(Self); end; MfG Stevie |
Re: Event erweitern
Moin Stevie,
ich habe solche Do...-Methoden nicht in meiner Mainklasse, d.h ich müsste für jedes Event noch ne extra prozedur adden, richtig? Ich frage, weil ich die Events direkt im OnRead von ClientSocket ausführe |
Re: Event erweitern
Deine Klasse ist zumindest besser strukturiert, wenn du diese Do..-Methoden
einbaust und leichter zu erweitern, wie du an diesem Beispiel sehen kannst. Außerdem kannst du nur über diesen Weg die Events durch Überschreiben der Do..-Methoden (sollten also protected sein) erweitern. |
Re: Event erweitern
Danke für die Hilfe ;)
Edit: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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