![]() |
Frame Aktualisierung
Hallo,
ich habe eine Unit1 (Form1: TForm1) und eine Unit2 (TFrame1). Der TFrame1 ist in Form1 als Frame1 eingebettet. Frame1 enthält eine ImageList1. Wenn ich nun in Unit2 die Bilder der ImageList1 ändere, werden diese nicht in die Frameinstance in Unit1 übernommen. Gibt es eine Möglichkeit den in Unit1 eingebetteten Frame1 zurückzusetzen oder zu aktualisieren ohne ihn neu einbetten zu müssen? Danke und beste Grüße |
AW: Frame Aktualisierung
|
AW: Frame Aktualisierung
Da Delphi gerne redundant die Inhalte eines (oder mehrerer) Frames in die DFM-Datei des übergeordneten Formulars/Frames kopiert kommt es zu solchen Problemen. Abgesehen davon dass der Inhalt deiner ImageList effektiv zwei mal in der .exe eingebettet war und die Dateigröße unnötig aufbläht.
Ich bearbeite immer die DFM-Datei dort wo der Frame platziert wurde manuell sodass meist nur noch drinsteht
Delphi-Quellcode:
Immer wenn die Delphi IDE dann allen möglichen Quark dazu kopiert kann man es mit dem Versionskontrollsystem wieder rückgängig machen.
object somePanel: TPanel
inline myFrame: TMyFrame Align = alClient end end |
AW: Frame Aktualisierung
Bette den Frame erst zur Laufzeit ein, dann passieren solche Dinge nicht. Ich mache das prinzipiell so.
|
AW: Frame Aktualisierung
Zitat:
Kommt aufs selbe hinaus. |
AW: Frame Aktualisierung
"Geerbte Einstellungen wiederherstellen" war hier die Lösung.
Danke und beste Grüße |
AW: Frame Aktualisierung
Zitat:
...:cat:... |
AW: Frame Aktualisierung
Zitat:
Wenn das wirklich so ist, wüsste ich das gerne, da ich das bei bei meinen Projekten dann entsprechend berücksichtigen muss. |
AW: Frame Aktualisierung
Zitat:
|
AW: Frame Aktualisierung
Danke für die Aufklärung:thumb:
|
AW: Frame Aktualisierung
Vielleicht habe ich da etwas an der Fragestellung falsch verstanden, aber prinzipiell macht es keinen Unterschied, ob du einen Frame zur Laufzeigt oder bei Programmstart aus einer Ressource (DFM) erzeugst. Wenn die Ressource bestimmte Eigenschaften überschreibt, dann tut sie das in beiden Fällen.
Was natürlich eine andere Situation ist, ist wenn du überhaupt keine DFM lädst, sondern den Inhalt des Frames auch zur Laufzeit erzeugst. Wahrscheinlich meintet ihr das. |
AW: Frame Aktualisierung
Nein, das ist schon etwas Anderes. Die Frame-Resource steht auch in einer DFM und die wird auch mit eingelinkt. Wenn du den Frame dynamisch erzeugst und in ein Form platzierst, z.B. in dem du den Parent setzt, dann entspricht das was du siehst der Frame-DFM. Platzierst du den Frame aber zur Designzeit im Form, werden Änderungen an dieser Frame-Instanz im Form-DFM gespeichert. Zur Laufzeit kann der Frame dann eben anders aussehen, als in der Frame-DFM gespeichert ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 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