Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Frame Aktualisierung (https://www.delphipraxis.net/202804-frame-aktualisierung.html)

tomkupitz 10. Dez 2019 17:11

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

Uwe Raabe 10. Dez 2019 17:54

AW: Frame Aktualisierung
 
Geerbte Einstellungen wiederherstellen

Der schöne Günther 10. Dez 2019 18:24

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:
object somePanel: TPanel
    inline myFrame: TMyFrame
      Align = alClient
    end
end
Immer wenn die Delphi IDE dann allen möglichen Quark dazu kopiert kann man es mit dem Versionskontrollsystem wieder rückgängig machen.

Jasocul 11. Dez 2019 06:08

AW: Frame Aktualisierung
 
Bette den Frame erst zur Laufzeit ein, dann passieren solche Dinge nicht. Ich mache das prinzipiell so.

Dennis07 11. Dez 2019 09:07

AW: Frame Aktualisierung
 
Zitat:

Zitat von Jasocul (Beitrag 1453221)
Bette den Frame erst zur Laufzeit ein, dann passieren solche Dinge nicht. Ich mache das prinzipiell so.

Klar kann dir das dann genau so passieren. Das Problem ist ja, dass die DFM dann falsche Informationen enthält. Wie schon gesagt, am besten entweder "Geerbte Einstellungen wiederherstellen" oder DFM manuell neu erzeugen lassen (Zeilen als Text löschen).

Kommt aufs selbe hinaus.

tomkupitz 11. Dez 2019 11:39

AW: Frame Aktualisierung
 
"Geerbte Einstellungen wiederherstellen" war hier die Lösung.

Danke und beste Grüße

sakura 11. Dez 2019 11:43

AW: Frame Aktualisierung
 
Zitat:

Zitat von Dennis07 (Beitrag 1453237)
Klar kann dir das dann genau so passieren. Das Problem ist ja, dass die DFM dann falsche Informationen enthält.

Eben nicht, da es ja nie in der DFM landet :roll: Grundsätzlich werden Frames in Delphi schon immer sehr stiefmütterlich behandelt und die allg. Empfehlung ist es daher, diese erst zur Laufzeit zu erstellen und in die Ziel-Formulare einzusetzen.

...:cat:...

Jasocul 11. Dez 2019 11:48

AW: Frame Aktualisierung
 
Zitat:

Zitat von Dennis07 (Beitrag 1453237)
Zitat:

Zitat von Jasocul (Beitrag 1453221)
Bette den Frame erst zur Laufzeit ein, dann passieren solche Dinge nicht. Ich mache das prinzipiell so.

Klar kann dir das dann genau so passieren. Das Problem ist ja, dass die DFM dann falsche Informationen enthält. Wie schon gesagt, am besten entweder "Geerbte Einstellungen wiederherstellen" oder DFM manuell neu erzeugen lassen (Zeilen als Text löschen).

Kommt aufs selbe hinaus.

Wenn ich die Frame-Instanz erst zur Laufzeit erzeuge und dann einbette, wie sollen dann geerbte Einstellungen verloren gehen?
Wenn das wirklich so ist, wüsste ich das gerne, da ich das bei bei meinen Projekten dann entsprechend berücksichtigen muss.

Uwe Raabe 11. Dez 2019 11:57

AW: Frame Aktualisierung
 
Zitat:

Zitat von Jasocul (Beitrag 1453252)
Wenn ich die Frame-Instanz erst zur Laufzeit erzeuge und dann einbette, wie sollen dann geerbte Einstellungen verloren gehen?
Wenn das wirklich so ist, wüsste ich das gerne, da ich das bei bei meinen Projekten dann entsprechend berücksichtigen muss.

Ist nicht so! Dein Vorgehen ist korrekt und vermeidet den oben beschriebenen Effekt.

Jasocul 11. Dez 2019 12:45

AW: Frame Aktualisierung
 
Danke für die Aufklärung:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:33 Uhr.
Seite 1 von 2  1 2      

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