Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Globale Änderung an TForm (https://www.delphipraxis.net/90630-globale-aenderung-tform.html)

Assertor 20. Apr 2007 21:13


Globale Änderung an TForm
 
Hallo DPler!

Ich suche eine Möglichkeit, die CreateParams, WMSyscommand und WMActivate global für alle TForms in einer Anwendung zu ersetzen. Ziel ist es, ohne Forms.pas Änderung verschiedene TForm Anpassungen per Unit einzubinden.

Damit möchte ich vermeiden, in jedem Form der Anwendung die Änderungen an CreateParams etc. zu erfassen, damit dies nicht vergessen wird.

Ich habe schon etwas in Richtung
Delphi-Quellcode:
  TMyCustomFormHelper = class helper for TForm bzw. TCustomForm
  protected
    procedure CreateParams(...); override;
    ...
  end;
versucht, aber dies geht ebenso wenig wie eine Neuzuweisung der TForm Classe im Sinne von:
Delphi-Quellcode:
  TmyCustomForm = class(TCustomForm);
  protected
    procedure CreateParams(...); override;
  end;

  TForm = class(TmyCustomForm);
An sich sollte die letzte Klassenzuweisung TForm doch klarmachen, daß es von TmyCustomForm abstammt, nicht von TCustomForm. Oder?

Gruß winkel79

mkinzler 20. Apr 2007 21:16

Re: Globale Änderung an TForm
 
Ich würde TmyCustomForm in der Objektablage ablegen und dann die Formulare von diesem ableiten.

SirThornberry 20. Apr 2007 21:17

Re: Globale Änderung an TForm
 
der zweite ansatz sollte funktionieren. wobei auch
Delphi-Quellcode:
TForm = TmyCustomForm;
genügen sollte anstelle von
Delphi-Quellcode:
TForm = class(TmyCustomForm);
denn du willst ja nicht nochmal von TMyCustomForm ableiten sondern einfach sagen das TForm dein TMyCustomForm ist.
Aber Classhelper musst du da nicht nutzen. und dann musst du überhall in deinen formular-units deine neue unit hinter der forms unit einbinden.

Assertor 24. Apr 2007 16:35

Re: Globale Änderung an TForm
 
Hallo,

danke für die Antworten! Das mit der Objektablage ist ein gangbarer Weg. Die Zuweisung TmyCustomForm = TForm geht auch, aber natürlich nur wenn diese in allen Units in der uses steht.

Ich werd nochmal etwas grübeln!

Gruß winkel79


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 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