AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Event im Objektinspektor von Elternklasse?
Thema durchsuchen
Ansicht
Themen-Optionen

Event im Objektinspektor von Elternklasse?

Ein Thema von DaWalt · begonnen am 11. Okt 2010 · letzter Beitrag vom 11. Okt 2010
Antwort Antwort
Seite 1 von 2  1 2      
DaWalt

Registriert seit: 22. Apr 2005
Ort: Dortmund
13 Beiträge
 
#1

Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 11:42
Hallo Leute,
Habe eine Klasse vom Typ TForm abgeleitet, die mir u.a. auch eine Clickroutine zur Verfügung stellt. Wenn ich nun ein Objekt davon ableite und ein Button darauf ziehe, so möchte ich im Objektinspektor beim OnClick die Möglichkeit haben, die Routine des Eltern-Objekts auszuwählen. Geht das irgendwie???
Also als Beispiel: Das ElternFenster hat wie gesagt eine Methode für OnClick und alle Buttons, die ich auf mein KindFenster ziehe, sollen diese Klickmethode benutzen, auswählbar im Objektinspektor.
Meine bisherige Lösung: Ich erzeuge eine neue Methode im KindFenster, die dann die Elternmethode aufruft. Finde ich aber unelegant. Hat jemand eine bessere Idee?

Vielen Dank schon mal im Voraus,

DaWalt
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 11:49
Zeig mal die Deklaration für so ein Click-Event aus der Elternklasse

ME müssten die mit angeboten werden (wenn die richtig deklariert sind )
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
DaWalt

Registriert seit: 22. Apr 2005
Ort: Dortmund
13 Beiträge
 
#3

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 12:05
Elternteil:
Code:
type
  TExtFoeteForm = class(TForm)
    Timer1: TTimer;
    SB_Handbedienung: TSpeedButton;
    BB_Close: TBitBtn;
    procedure Timer1Timer(Sender: TObject); dynamic;
    procedure FormShow(Sender: TObject); dynamic;
    procedure FormHide(Sender: TObject);
    procedure BB_CloseClick(Sender: TObject);
    procedure AusgangsClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  published

  end;

var
  ExtFoeteForm: TExtFoeteForm;

implementation

{$R *.DFM}

...

procedure TExtFoeteForm.AusgangsClick(Sender: TObject);
begin
  with Sender as TButton do begin
    ...;
  end;
end;
KindTeil:
Code:
type
  TKindForm = class(TExtFoeteForm)
  ... allerlei Objekte, u.a. Buttons, die AusgangsClick benutzen sollen
Und wahrscheinlich liegt genau beim "richtig deklariert" der Hase im Pfeffer. Hab den Eintrag im Elternteil von auch schon im Public- und im Published-Teil gehabt, hat aber nix geändert.
  Mit Zitat antworten Zitat
idefix2

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

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 12:06
Schau Dir mal den Thread an:

http://www.delphipraxis.net/153107-e...ty-editor.html
  Mit Zitat antworten Zitat
DaWalt

Registriert seit: 22. Apr 2005
Ort: Dortmund
13 Beiträge
 
#5

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 13:24
Also ohne Package und Komponente und registrieren usw geht´s nicht?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 13:40
Ich kann Dein Problem bei mir nicht nachvollziehen, ie sieht Dein DFM aus

inherited KindForm: TExtFoeteForm

oder

object KindForm: TExtFoeteForm
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
idefix2

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

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 13:48
Ich fürchte, ohne registrieren wird im OI nichts zu sehen sein.

Ist mir zumindest nicht gelungen
  Mit Zitat antworten Zitat
DaWalt

Registriert seit: 22. Apr 2005
Ort: Dortmund
13 Beiträge
 
#8

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 14:03
@ idefix2: Schade eigentlich, jedenfalls vielen Dank!

@ Bummi: Verstehe Deine Frage auch nicht.
Ich erzeuge ein neues Form und ändere den Klassentyp von "TForm" auf "TExtFoeteForm". Dann ziehe ich einen Button auf das Fenster und wähle im Objektinspektor bei OnClick eine Methode aus, bzw. würde gerne auswählen, nämlich die in der Elternklasse angelegte "AusgangsKlick". Diese erscheint aber nicht. So wie Idefix2 schrieb, werde ich die Fensterklasse "TExtFoeteForm" wohl erst irgendwie registrieren und/oder zur Komponente umbauen müssen.
Wäre sonst wohl zu schön und zu einfach gewesen.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 14:34
Geh auf Dein Formular schalte auf Ansicht als Text
und ändere
okject KindForm: TExtFoeteForm
in
inherited KindForm: TExtFoeteForm

oder nimm einen Texteditor und öffne dort Dein DFM
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

AW: Event im Objektinspektor von Elternklasse?

  Alt 11. Okt 2010, 15:50
Also meiner Erfahrung nach sollte man Formulare nicht ableiten und neue Properties einführen.
Denn dazu muss man die Formularklasse in einem Designtime-Package registieren.

Wer schon mal versucht hat ein grosses Projekt auf einen frisch eingerichteten Delphi
zu kompilieren, der weiss dass er dazu Stunden oder auch Tage benötigt, bis man die ganzen Komponenten installiert hat.

Bei echten Komponenten überwiegt der Vorteil des komponentenbasierten Programmierens den Aufwand der Installation.
Abgeleitete Formulare sind aber den Aufwand nicht wert.
Komponenten sind wie Legobausteine; man kann sie überall einsetzen.
Abgeleitete Formulare sind dagegen spezialisierte Klassen und daher nicht universell verwendbar.

Es gibt genügend Möglichkeiten und Techniken (z.B. Factory-Klassen) um abgeleitete Formulare zu vermeiden.
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:02 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