AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Komponente ableiten: Ereignisse überschreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente ableiten: Ereignisse überschreiben

Ein Thema von Martin K · begonnen am 6. Jun 2006 · letzter Beitrag vom 6. Jun 2006
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#21

Re: Komponente ableiten: Ereignis löschen ???

  Alt 6. Jun 2006, 16:05
TCustomLabel ist der Vorfahre von TLabel. Allerdings sind dort die Properties noch nicht published. Das heißt niemand sieht das OnMouseEnter und somit kann auch niemand eine Methode zuordnen.

xaromz hat allerdings schon aufgezeigt wie du das MouseEnter abarbeiten kannst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#22

Re: Komponente ableiten: Ereignis löschen ???

  Alt 6. Jun 2006, 16:07
Leider geht grad gar nix mehr
Wenn ich Delphi starten will, kommt:
Zitat:
---------------------------
delphi32.exe - Einsprungpunkt nicht gefunden
---------------------------
Der Prozedureinsprungpunkt "@Inifiles@TMemIniFile@$bctr$qqrx17System@AnsiStri nt" wurde in der DLL "rtl70.bpl" nicht gefunden.
---------------------------
OK
---------------------------
Und die betreffende Datei "rtl70.bpl" wurde am 09.11.2005 zuletzt geändert....


//Edit:
Jaja, so isses wenn man Windows hat:
Einfach neu starten und schon geht's wieder
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#23

Re: Komponente ableiten: Ereignis löschen ???

  Alt 6. Jun 2006, 16:30
So, geschafft
Nochmal Danke an alle, ihr seid super!!!!

Eines noch:
Wie kann ich bei CMMouseEnter und -Leave die ursprünliche Methode aufrufen, die der User eingegeben hat?

Mit inherited geht es ja nicht, da ich auch kein override habe...
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#24

Re: Komponente ableiten: Ereignis löschen ???

  Alt 6. Jun 2006, 16:42
Noch ein Problem:

Das Ereignis CMMouseEnter wird auch ausgeführt, wenn das Programm noch nicht läuft.
Also schon vor der Laufzeit....
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#25

Re: Komponente ableiten: Ereignis löschen ???

  Alt 6. Jun 2006, 16:51
Du meinst, zur Designzeit? Ansonsten kann ich mir kaum vorstellen, dass dein Programm schon was tut, bevor es läuft^^

Es gibt eine Boolean-Variable, die dir sagt, ob noch Entwurfszeit gilt; Ansonsten solltest du alle Probleme durch saubere Weiterleitung von allem, mit dem du nichts zu tun haben willst, lösen können.
Lukas Erlacher
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#26

Re: Komponente ableiten: Ereignis löschen ???

  Alt 6. Jun 2006, 16:57
@Martin K: Das was du gemacht hast nennt sich pushen und ist in diesme Forum erst nach 24 Stunden erlaubt. Wenn du etwas deinem Post hinzufügen willst benutze bitte den "Edit"-Button und poste nicht 3 mal hintereinander.
Auch andere wollen das Ihre Themen gelesen werden und denen gegenüber ist es unfair wenn du deinen Thread immer wieder davor schiebst in dem du pushst.

Wenn du eine Neue Frage hast (viel hat die letzte Frage ja nicht mehr mit der Ausgangsfrage zu tun) eröffne bitte ein neues Thema damit die Übersichtlichkeit gewahrt bleibt.

MfG SirThornberry
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Komponente ableiten: Ereignis löschen ???

  Alt 6. Jun 2006, 17:01
@DGL-luke:
Ja, genau zur Designzeit.

@SirThornberry:
Oh, sorry

//Edit:
Naja, diese Frage hat schon etwas mit der Problemstellung aus dem ersten Beitrag zu tun:
Zitat von Martin K:
Eines noch:
Wie kann ich bei CMMouseEnter und -Leave die ursprünliche Methode aufrufen, die der User eingegeben hat?

Mit inherited geht es ja nicht, da ich auch kein override habe...
Es hat sich halt ein Problem zu dem anderen entwickelt...
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#28

Re: Komponente ableiten: Ereignis löschen ???

  Alt 6. Jun 2006, 17:23
Zitat von Martin K:
...Wie kann ich bei CMMouseEnter und -Leave die ursprünliche Methode aufrufen, die der User eingegeben hat?

Mit inherited geht es ja nicht, da ich auch kein override habe...
Was hat das eine mit dem anderen zu tun ? "Inherited" heißt : "geerbt" ! Und es dient genau dazu, die Originalmethode einer Basisklasse aufzurufen ! Mit override kann ich die zwar überschreiben, aber das hindert einen nicht daran, trotzdem in der neuen Prozedur "inherited" zu benutzen, um eben nicht alles neu machen zu müssen. Der neue Code ist dann eben nur eine Ergänzung zum bereits vorhandenen, der eben vom inherited geliefert wird. Vorsicht auch bei ...Custom... Die Vorzüge von OOP fallen dann so gut wie weg, weil sowieso fast alles selber gemacht werden muß !
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#29

Re: Komponente ableiten: Ereignisse überschreiben

  Alt 6. Jun 2006, 17:32
Du kannst eine Methode der Basisklasse immer ausdrücklich über TBasisKlasse(Objekt).Methode(); aufrufen.
Lukas Erlacher
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#30

Re: Komponente ableiten: Ereignisse überschreiben

  Alt 6. Jun 2006, 17:32
Zitat von Hansa:
Was hat das eine mit dem anderen zu tun ? "Inherited" heißt : "geerbt" ! Und es dient genau dazu, die Originalmethode einer Basisklasse aufzurufen ! Mit override kann ich die zwar überschreiben, aber das hindert einen nicht daran, trotzdem in der neuen Prozedur "inherited" zu benutzen, um eben nicht alles neu machen zu müssen. Der neue Code ist dann eben nur eine Ergänzung zum bereits vorhandenen, der eben vom inherited geliefert wird.
Okay, vielleicht hat das eine nichts mit dem anderen zu tun, aber ich hab's halt nicht hinbekommen.
Was muss ich denn - z.B. bei CMMouseEnter - dann nach dem inherited schreiben?
Hab verschiedenes probiert (CMMouseEnter, MouseEnter, OnMouseEnter) ging alles nicht.


Zitat von Hansa:
Vorsicht auch bei ...Custom... Die Vorzüge von OOP fallen dann so gut wie weg, weil sowieso fast alles selber gemacht werden muß !
Ja, das hab ich dann auch gemerkt. Bei TCustomLabel gibts z.B. nicht einmal Caption....
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 08:16 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