AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein OnKeyPress ableiten und programmweit nutzen

OnKeyPress ableiten und programmweit nutzen

Ein Thema von Glados · begonnen am 3. Nov 2017 · letzter Beitrag vom 3. Nov 2017
Antwort Antwort
Seite 1 von 2  1 2   
Glados
(Gast)

n/a Beiträge
 
#1

OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 13:34
Vererbung ist für mich kein rotes Tuch, aber noch eins komplett ohne Farbe. Sagen wir mal es ist weiß.

Aktuell habe ich X Formulare und fast jedes hat einen OnKeyPress-Eventhandler. In fast allen passiert dasselbe.

Da ich von Vererbung absolut keine Ahnung habe und die Lektüre bei Google nur schwer verstehe möchte ich gerne hier fragen wie das genau funktioniert.
Was muss man schreiben, um OnKeyPress abzuleiten und programmweit diese Ableitung nutzen zu können?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
9.526 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 13:41
Wenn du Form Inheritance verwendest, kannst du auch die verlinkten Events eines geerbten Forms (Frames, Datenmoduls) über inherited aufrufen. Das steht auch per Standard drin wenn in einem Child-Form im OI ein Doppelclick auf einen Event gemacht wird - unabhängig, ob der Event im Elternform überhaupt verdrahtet ist oder nicht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#3

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 13:48
Chinesisch
Ich denke gerade an sowas hier http://www.delphipraxis.net/160639-e...en-events.html

TIniFile ableiten und die abgeleitete Version (bei mir eine Interposer-Klasse) das schaffe ich. Aber das da oben ist Neuland für mich.

Geändert von Glados ( 3. Nov 2017 um 13:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
9.526 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 14:01
Aber das da oben ist Neuland für mich.
Kein Problem.
  • neue VCL-Formularanwendung erstellen
  • im Objekt-Inspektor des Forms den OnKeyPress Event verdrahten
  • in der Objekt-Galerie (Datei - Neu - Weitere) in Vererbbare Elemente das gerade erstellte Form auswählen
  • In dem zweiten erstellten Form ebenfalls den OnKeyPress Event verdrahten

Das zweite (abgeleitete) Form erbt nicht nur alle Komponenten, Einstellungen und Methoden des ersten Forms, sondern auch die verlinkten Events. Diese sind in dem abgeleiteten Form wie sonst auch über das Schlüsselwort inherited zu erreichen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#5

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 14:02
Wenn ich das richtig verstanden habe, dann geht das auch ohne die IDE-Menus/Funktionen zu nutzen oder sehe ich das falsch?

http://www.delphipraxis.net/340845-post6.html

Das oben in eine eigene Unit (Utils.Events.OnKeyPress.pas). Dann muss ich diese Unit aber in alle Formulare einbinden. Das nervt ehrlich gesagt.


Edit
Ich lass es für den Moment lieber. Gerade getestet, klappt nicht, Ende. Habe noch andere Dinge zu erledigen und kann mich damit jetzt nicht abquälen.

Geändert von Glados ( 3. Nov 2017 um 14:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.213 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 14:18
Kleines Video zum Thema Formvererbung

https://www.youtube.com/watch?v=2R9ODPa6794
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.213 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 14:22
Wenn ich ein neues Projekt anfange, dann wird in der Regel eine Basisform angelegt,von der alle weiteren Forms abgeleitet werden.

Dort werden Funktionen hinterlegt, die alle Forms können sollen.

Dann kannst du z.B. dort in der Basisform eine Procedure schreiben, die sich um das speichern der Position beim Schliessen kümmert. Und natürlich beim öffnen die Position wieder herstellt. Das wird einmal gemacht, und alle anderen abgeleteten Forms speichern und laden automatisch die Position.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#8

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 14:24
Nee ist zwar nett aber davon halte ich nix.
Ich stehe eher auf Code und nicht auf irgendeine nicht sichtbare Magie, dessen Existenz man nach kurzer Zeit wieder vergisst.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.213 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 14:30
Nee ist zwar nett aber davon halte ich nix.
Ich stehe eher auf Code und nicht auf irgendeine nicht sichtbare Magie, dessen Existenz man nach kurzer Zeit wieder vergisst.
Hä? Das ist Code. Keine Magie.

Aber wenn du den gleiche Code 100 mal in jeder neuen Form wieder eintippen willst..... Bitte.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#10

AW: OnKeyPress ableiten und programmweit nutzen

  Alt 3. Nov 2017, 14:32
Nein, ich will nur nicht diese komischen IDE-Funktionen benutzen und keine ganzen Formulare ableiten, wenn ich nur ein einziges Event brauche.

Ich denke eher an sowas habe aber keine Ahnung wie man es verwendet
https://stackoverflow.com/questions/...aseclass-event
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

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 06:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf