AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Komponentenableitung mit message in Implementation
Thema durchsuchen
Ansicht
Themen-Optionen

Komponentenableitung mit message in Implementation

Ein Thema von mschaefer · begonnen am 26. Mär 2010 · letzter Beitrag vom 26. Mär 2010
Antwort Antwort
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#1

Komponentenableitung mit message in Implementation

  Alt 26. Mär 2010, 15:47
In der Basiskomponente habe ich z.B:

procedure CMEnter (var Message: TCEMEnter); message CM_Enter;


In der davon abgeleiteten Komponente soll eine Routine mit dem gleichen
Namen liegen die dort ausgeführt wird. Die Routine der Basisklasse
soll dabei nicht aufgerufen werden.

Jetzt kann ich aber nicht einfach 'ovverride' hinter die 'message'
schreiben, dann beschwert sich der Compiler.


Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Komponentenableitung mit message in Implementation

  Alt 26. Mär 2010, 16:02
Schlüsselwort 'override' ist hier nicht notwendig, weil die Botschaft zuerst an deine Klasse geht.
Wird die Botschaft nicht behandelt, wird die Klassenhierarchie aufgestiegen bis zum obersten TObject (dort passiert dann gar nichts mit der Botschaft)

Du kannst selbst steuern, ob die Botschaft zu deiner Basisklasse weitergeleitet werden soll oder nicht:
Delphi-Quellcode:
procedure TDeinControl.CMEnter (var Message: TCEMEnter); message CM_Enter;
begin
  // zuerst selbst behandeln
  Color := clRed;

  if Sonnescheint and RegenbogenIsVisible then
    inherited;
end;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#3

Re: Komponentenableitung mit message in Implementation

  Alt 26. Mär 2010, 16:07
Hab banal das Problem, dass mir eine Unterklasse die Events behandelt, die eine darüberliegene etwas anders abarbeiten soll. Wenn die von unten nach oben wandern entspricht das Deiner Beschreibung. Was mach ich denn nun, wenn die Unterklasse ruhig gestellt werden soll. Oder stehe ich im Moment auf dem Schlauch??

Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#4

Re: Komponentenableitung mit message in Implementation

  Alt 26. Mär 2010, 16:10
TObject ist oben - ok - Zeit fürn Tee

Ja hatte beim Suchen und Ersetzen einen Buchstaben im Procedurnamen der Nachfolgeklasse und schon schlug die Message mehrfach zu. Zeit fürs Wochenende. Naja sobald das Gewitter da draussen weg ist.

Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz