AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TTabcontrol - OnExit funktioniert nicht wie erwartet

Ein Thema von idefix2 · begonnen am 30. Okt 2016 · letzter Beitrag vom 1. Nov 2016
Antwort Antwort
Seite 2 von 2     12
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#11

AW: TTabcontrol - OnExit funktioniert nicht wie erwartet

  Alt 30. Okt 2016, 20:44
irgendwie macht mich das wahnsinnig. Jetzt wollte ich ein TMainMenuItem von TMenuItem ableiten, in dem ich OnClick überschreibe, um an der Stelle halbwegs zentral meine Sheets zu sichern, wenn ein Punkt des hauptmenüs aufgerufen wird.
Bloss, es kommt die Fehlermeldung "Methode OnClick nicht in Basiskasse gefunden."
Aber die Basisklasse HAT ein OnClick-Ereignis. Was mache ich da falsch?
Miniaturansicht angehängter Grafiken
onclick.png  
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#12

AW: TTabcontrol - OnExit funktioniert nicht wie erwartet

  Alt 30. Okt 2016, 21:05
Schau doch mal in den Quellen von Delphi nach (sofern Du sie bei Deiner Delphiversion dabei hast) wie dort bei TMenuItem OnClick definiert ist.

Bei Delphi 7 sieht das so aus:property OnClick: TNotifyEvent read FOnClick write FOnClick stored IsOnClickStored;

Geändert von nahpets (31. Okt 2016 um 11:20 Uhr) Grund: So wenig Text und so viele Schreibfehler :-(
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#13

AW: TTabcontrol - OnExit funktioniert nicht wie erwartet

  Alt 30. Okt 2016, 22:00
Bei der Starter-Edition ist kein Quellcode dabei. Aber mir ist schon klar geworden, was da falsch ist.

Ich habe geglaubt, die interne Methode, die die Onclick-Routine aufruft, heißt Onclick. Die heisst aber offenbar anders, d.h. ich kann nicht Onclick überschreiben, sondern ich muß den Konstruktor von TMenuItem überschreiben und dort die Property Onclick setzen.

pffff...

Oder ich lass es bleiben und setze die Property direkt im OI. Ist halt ein Problem, wenn irgendwann das Menü erweitert wird, das ist etwas, worauf dann mit fast 100%iger Sicherheit vergessen werden wird. Aber wenn jemand statt meines TMainMenuItem ein normales TMenuItem ins Menü hängt, hilft ohnehin auch nichts.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.124 Beiträge
 
Delphi 12 Athens
 
#14

AW: TTabcontrol - OnExit funktioniert nicht wie erwartet

  Alt 30. Okt 2016, 23:32
Oft heißen die Caller der Events DO

OnClick -> DoClick (siehe TButton)
Aber bei TMenuItem gibt es keinen expliziten Caller für dieses Event.

Allerdings gibt es hier eine passende Methode, für diese Funktion, die man auch per Code aufrufen kann, um die Funktion von MenuItems/Buttons auszulösen.
procedure Click; override;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.

Geändert von himitsu (30. Okt 2016 um 23:36 Uhr)
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#15

AW: TTabcontrol - OnExit funktioniert nicht wie erwartet

  Alt 1. Nov 2016, 00:52
Danke. Sobald ich etwas Zeit habe, probiere ich das aus. Auf die Schnelle habe ich jetzt schon bei den betroffenen Menüeinträgen über den OI das Onclick gesetzt. Aber ein override der internen Click-verarbeitung in einer abgeleiteten Klasse würde mir irgendwie besser gefallen.
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#16

AW: TTabcontrol - OnExit funktioniert nicht wie erwartet

  Alt 1. Nov 2016, 15:53
hmmmm....ich würde eher eine TAction/TCustomAction verwenden und die Actions entsprechend auf die Menüs, Speedbuttons usw. verteilen

Hat den Vorteil, das das auslösende Control egal ist (ob das nu ein Menüpunkt oder ein Speedbutton oder
ein xyz-control).
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:03 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