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 DFM-File dynamisch laden (https://www.delphipraxis.net/109769-dfm-file-dynamisch-laden.html)

princyto 7. Mär 2008 10:57


DFM-File dynamisch laden
 
Hallo zusammen,

ich arbeite gerade an einem Projekt bei dem ein zur Laufzeit erstelltes DFM-File in ein anderes geladen werden soll.

IST-Situation:

Ich habe ein Formular mit Komponenten und Ereignissen, welches zur entwicklungszeit erstellt wurde. Parallel dazu hab ich einen Formular-Designer mit dem ich zur Laufzeit die Komponenten des zur entwicklungszeit erstellten Formulares verändern kann.

SOLL-Situation:

Wenn das zur entwicklungszeit erstellte Formular aufgerufen wird, soll die DFM-Ansicht (Komponenten) überschrieben werden.

Folgendes Problem:

Die zu überschreibenden Komponenten werden im zugehörigem PAS-File verwendet.

Daraus lässts sich folgendes Vorgehen ableiten:

Die zu überschreibende Komponente muss deregistriert und gelöscht werden. Anschliessend muss die Komponente aus dem zur Laufzeit erstelltem DFM-File erstellt und regestriert werden. Die Ereignisse werden vor der Deregistrierung und Löschung kopiert.

Wie kann die Deregistrierung und Registrierung zur Laufzeit umgesetzt werden?

Ich hoffe ihr könnt mir helfen. Danke.

Gruß Eugen

Bernhard Geyer 7. Mär 2008 11:28

Re: DFM-File dynamisch laden
 
Wie wäre es wenn du die zur laufzeit geänderten Formulareinstellungen in eine gesonderte Datei (INI, XML, Datenbank) speicherst und von dort wieder lädst. Dein gewollter Ansatz der Modifikation der Exe wird aus ein paar Gründen Probleme bereiten:

1, Fehlende Schreibrechte des user auf Verzeichnis/Datei (Nicht erst seit Vista, sondern schon seit NT)
2, Laufende Exe modifizieren wird immer mal Probleme mit Virenscanner verursachen.
3, Ein geladene Exe zu modifizieren wird Windows unterbinden.

princyto 7. Mär 2008 11:36

Re: DFM-File dynamisch laden
 
Hi,

danke für die schnelle Antwort!
Leider habe ich nur die eine Möglichkeit. Es muss so funtionieren.
Wie kommst du drauf das ich die Exe modifizieren will? Die exe wird nicht modifiziert.
Wozu Schreibrechte des user auf Verzeichnis/Datei?

Union 7. Mär 2008 11:43

Re: DFM-File dynamisch laden
 
Schau Dir mal Delphi-Referenz durchsuchenReadComponentRes an oder suche hier danach.


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