![]() |
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:
versucht, aber dies geht ebenso wenig wie eine Neuzuweisung der TForm Classe im Sinne von:
TMyCustomFormHelper = class helper for TForm bzw. TCustomForm
protected procedure CreateParams(...); override; ... end;
Delphi-Quellcode:
An sich sollte die letzte Klassenzuweisung TForm doch klarmachen, daß es von TmyCustomForm abstammt, nicht von TCustomForm. Oder?
TmyCustomForm = class(TCustomForm);
protected procedure CreateParams(...); override; end; TForm = class(TmyCustomForm); Gruß winkel79 |
Re: Globale Änderung an TForm
Ich würde TmyCustomForm in der Objektablage ablegen und dann die Formulare von diesem ableiten.
|
Re: Globale Änderung an TForm
der zweite ansatz sollte funktionieren. wobei auch
Delphi-Quellcode:
genügen sollte anstelle von
TForm = TmyCustomForm;
Delphi-Quellcode:
denn du willst ja nicht nochmal von TMyCustomForm ableiten sondern einfach sagen das TForm dein TMyCustomForm ist.
TForm = class(TmyCustomForm);
Aber Classhelper musst du da nicht nutzen. und dann musst du überhall in deinen formular-units deine neue unit hinter der forms unit einbinden. |
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 02:09 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 by Thomas Breitkreuz