AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

(gelöst) Vererbung

Ein Thema von VkPenguin · begonnen am 24. Sep 2012 · letzter Beitrag vom 24. Sep 2012
Antwort Antwort
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#1

(gelöst) Vererbung

  Alt 24. Sep 2012, 19:27
Guten Tag zusammen,

ich bin bei den arbeiten an meinem aktuellen Programm auf ein Problem getroffen, das mir Kopfzerbrechen bereitet. Ich möchte die Klasse TCheckbox so erweitern, dass sie weitere Befehle ausführt, wenn der Status von TcheckBox.Checked geändert wird. Das Problem: Wenn ich das richtig sehe, lautet die passende Procedur "Toggle" und stammt von "TCustomCheckbox" ab. Nur wie kann ich angeben, dass ich diese Methode erweitern möchte und nicht eine von TCheckbox eingeführte?

Entschuldigt bitte, falls ich da etwas falsch verstanden habe, aber ich bin noch relativ unerfahren mit dem Thema Vererbung. Ich habe mir mal das durchgelesen, aber um gezielt nach diesem Problem suchen zu können müsste ich den Namen kennen. Ich wäre also alternativ zu einer Lösung auch für eine "Suchhilfe" dankbar.

Geändert von VkPenguin (24. Sep 2012 um 21:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Vererbung

  Alt 24. Sep 2012, 19:45
Die korrekte Methode (auch, wenn es komisch klingt) wäre Click. Die Methode Toggle wird nur aufgerufen, wenn man auf die Checkbox klickt und nicht, wenn man im Code z.B. CheckBox1.Checked := False schreibt (witzigerweise wird in diesem Fall aber die Click Methode aufgerufen).

Somit würde dein Code etwa wie folgt aussehen:

Delphi-Quellcode:
TMyCheckBox = class(TCheckBox)
protected
  procedure Click; override;
end;

procedure TMyCheckBox.Click;
begin
  inherited;

  // dein Code
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Vererbung

  Alt 24. Sep 2012, 19:50
Wenn sich der Status der Delphi-Referenz durchsuchenTCheckBox ändert, dann wird das Event Delphi-Referenz durchsuchenTCheckBox.OnClick aufgerufen.

Somit ist eigentlich schon alles vorhanden um da weiteren Code aufzurufen.

Einfach mal im Editor einen DoppelKlick auf die CheckBox machen, dann sollte eigentlich der passende Methodenrumpf erscheinen

EDIT: Eine Ableitung der Klasse ist hier oversized
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#4

AW: Vererbung

  Alt 24. Sep 2012, 21:03
Hallo nocheinmal,

funktioniert tadellos, das war ja einfach Vielen lieben Dank für eure Hilfe! .... wieder was gelernt...
  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 10:02 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