Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   OnKeyPress ableiten und programmweit nutzen (https://www.delphipraxis.net/194258-onkeypress-ableiten-und-programmweit-nutzen.html)

Glados 3. Nov 2017 13:34

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?

Uwe Raabe 3. Nov 2017 13:41

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:
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.

Glados 3. Nov 2017 13:48

AW: OnKeyPress ableiten und programmweit nutzen
 
Chinesisch :shock:
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.

Uwe Raabe 3. Nov 2017 14:01

AW: OnKeyPress ableiten und programmweit nutzen
 
Zitat:

Zitat von Glados (Beitrag 1384970)
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
Delphi-Quellcode:
inherited
zu erreichen.

Glados 3. Nov 2017 14:02

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?

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.

bernau 3. Nov 2017 14:18

AW: OnKeyPress ableiten und programmweit nutzen
 
Kleines Video zum Thema Formvererbung

https://www.youtube.com/watch?v=2R9ODPa6794

bernau 3. Nov 2017 14:22

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.

Glados 3. Nov 2017 14:24

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.

bernau 3. Nov 2017 14:30

AW: OnKeyPress ableiten und programmweit nutzen
 
Zitat:

Zitat von Glados (Beitrag 1384984)
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.

Glados 3. Nov 2017 14:32

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
https://stackoverflow.com/questions/...aseclass-event


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.
Seite 1 von 2  1 2      

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