![]() |
Zwei OnClick-Events in einer Klasse
Servus,
Folgendes Problem: Ich habe eine eigene Klasse von TScrollBox abgeleitet. Jetzt möchte ich, dass ich einer Methode meiner eigenen Klasse das OnClick-Event der TScrollBox zuweisen kann. Allerdings soll später, wenn die Komponente benutzt wird, das zuweisen einer anderen OnClick Funktion ebenfalls möglich sein ... Könnt ihr mir helfen? Danke schonmal! |
Re: Zwei OnClick-Events in einer Klasse
:wiejetzt:
Ich würde sagen:
Delphi-Quellcode:
Wenn es eine 'meinOnClick' - methode gibt sollte das klappen.
MeineKompo.OnClick := Form1.meinOnClick(Sender: TObject);
|
Re: Zwei OnClick-Events in einer Klasse
Ich weise intern der Komponente eine OnClick Methode zu - und außerhalb will ich das ich so machen - also praktisch 2 Funktionen auf ein Ereignis.
Ich würde das gerne folgendermaßen lösen:
Delphi-Quellcode:
Aber das geht ja so nicht :(
procedure TMeineKomponente.OnClick(Sender: TObject);
begin // Zuerst das externe Ereignis aufrufen inherited OnClick(Sender); // ... end; |
Re: Zwei OnClick-Events in einer Klasse
Andersrum gehts aber.
Du schreibst zuerst das, was intern passieren soll in die reguläre OnClick - Methode. Dann erzeugst Du eine externe:
Delphi-Quellcode:
procedure TForm1.DeineKompoOnClick(Sender: TObject);
begin // .. hier ne Menge Code // ..und zuletzt die interne aufrufen: inherited; end; |
Re: Zwei OnClick-Events in einer Klasse
Ich bin mir sicher, dass onClick aus der dynamischen methode Click aufgerufen wird:
siehe da
Delphi-Quellcode:
dh. einfach overriden:
TControl = class(TComponent)
... procedure Click; dynamic; ...
Delphi-Quellcode:
sollte gehen :) type TDeineKompoOnClick = class(...) ... procedure Click; override; end; procedure TDeineKompoOnClick .Click; begin // .. hier ne Menge Code inherited; // original aufrufen ... unter anderem auch OnCLick generieren end; mfg. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 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