![]() |
OnKeyPress ableiten und programmweit nutzen
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? |
AW: OnKeyPress ableiten und programmweit nutzen
Wenn du Form Inheritance verwendest, kannst du auch die verlinkten Events eines geerbten Forms (Frames, Datenmoduls) über
Delphi-Quellcode:
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.
inherited
|
AW: OnKeyPress ableiten und programmweit nutzen
Chinesisch :shock:
Ich denke gerade an sowas hier ![]() TIniFile ableiten und die abgeleitete Version (bei mir eine Interposer-Klasse) das schaffe ich. Aber das da oben ist Neuland für mich. |
AW: OnKeyPress ableiten und programmweit nutzen
Zitat:
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
Delphi-Quellcode:
zu erreichen.
inherited
|
AW: OnKeyPress ableiten und programmweit nutzen
Wenn ich das richtig verstanden habe, dann geht das auch ohne die IDE-Menus/Funktionen zu nutzen oder sehe ich das falsch?
![]() 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. |
AW: OnKeyPress ableiten und programmweit nutzen
|
AW: OnKeyPress ableiten und programmweit nutzen
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. |
AW: OnKeyPress ableiten und programmweit nutzen
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. |
AW: OnKeyPress ableiten und programmweit nutzen
Zitat:
Aber wenn du den gleiche Code 100 mal in jeder neuen Form wieder eintippen willst..... Bitte. |
AW: OnKeyPress ableiten und programmweit nutzen
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 ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz