![]() |
DFM Datei zur Laufzeit laden.
Hallo,
zur Zeit verwenden wir ein eigenes (rudimentäres) Modul zum Laden und Speichern des Aufbaus und der Einstellungen eines individuell gestaltbaren Formulars...selbst das bisschen was es leistet hat ne menge Arbeit verschlungen. Jetzt kam mir die Idee: Es müsste doch möglich sein dfm Dateien zur Laufzeit, wenn vorhanden, zu laden. So das jedes Formular im Programm im Nachhinein sehr weit customized werden kann. Das heißt ich würde wenn ein Kunde es wünscht eine Kopie der Auslieferungsversion der DFM Datei mit Delphi ändern , speichern und diese dann bereitstellen. So das das Formular, aus dieser externen , evtl. gezipten DFM Datei geladen werden würde. Ist das grundsätzlich möglich ? Oder habe ich da einen fiesen Denkfehler drin. Welche Funktion lädt die DFM Dateien? Ees ist ein TReader soweit ich weiß, ist der im OnCreate der Formulare bereits verfügbar? |
Re: DFM Datei zur Laufzeit laden.
Die DFM-Datei ist ein Abbild einer Klasse, die das Programm zur Kompilierzeit bereits kennt bzw. kennen muss. Z.B.:
Delphi-Quellcode:
Die Eigenschaften können also geändert werden, z.B. die Beschriftung. Dem Programm unbekannte Klassen zu verwenden führt zum Fehler.
object Form1: TForm1
Caption = 'Formular 1' ... object Label1: TLabel Caption = 'Label 1' ... end end Siehe auch: ![]() ![]() |
Re: DFM Datei zur Laufzeit laden.
JA schon klar,
Ich meine eher Veränderungen in Größe ,Position ,Schriftart, Farbe, Style, Ausrichtung etc. Müste doch eigentlich möglich sein auf die Komfortable IDE als Formulardesigener zurrückgreifen zu können die Formulare aber aus einer nicht einkomplierten Rescource zu laden. |
Re: DFM Datei zur Laufzeit laden.
Zitat:
![]() |
Re: DFM Datei zur Laufzeit laden.
Es geht wirklich, die dfm-Datei zur Laufzeit einzulesen; vor "vielen" Jahren hatte ich das zumindest teilweise realisiert. Aber ich weiß nicht mehr, wo und wonach ich in meinen alten Quellen suchen müsste. Ich schreibe das hier nur, um deutlich zu machen: Es lohnt sich, intensiv die Suche zu benutzen nach möglichst vielen verschiedenen Begriffen; du solltest Erfolg haben.
Jürgen |
Re: DFM Datei zur Laufzeit laden.
Zitat:
Eine Sache fällt mir noch ein, über die man stolpern könnte: Der Name der Komponente. Mann kann quasi nicht zwei Formulare aus einer DFM-Datei erzeugen ohne den Namen gleichnamiger, bestehender Komponenten vorher zu ändern. Zitat:
|
Re: DFM Datei zur Laufzeit laden.
Zitat:
also falls es nicht umbedingt die DFM sein muß, sondern ein anderes Format ... Stichwort Serialisierung (in meiner XML-Klasse hab ich grad die Form serialisiert ... wenn man dann bei der Deserialsierung die enthaltenen Klassen zur Verfügung stellt, wäre ein laden einer Form daraus schon möglich) |
Re: DFM Datei zur Laufzeit laden.
Zitat:
Dann kann ich mir mit der IDE etliche DFMs bauen und die als TEXT oder Zip files ausliefern und so das Programm nachtröglich customizen. muss nur beim laden des Formulars im create geprüft werden ob eine customize.dfm in den entsprechenden verzeichnis vorliegt, wenn ja dann muss eben diese verwendet werden, ansonsten die einkompolierte Ressource. |
Re: DFM Datei zur Laufzeit laden.
Schau dir mal
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 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-2025 by Thomas Breitkreuz