![]() |
Komponenten einer Form neu laden / Problem mit Frames
Liste der Anhänge anzeigen (Anzahl: 1)
Moin moin,
Ich muss die Standardwerte der Komponenten (Zur Zeit eigentlich nur die Captions) zur Laufzeit wieder einlesen. Also die Werte, die die Komponenten beim erzeugen des Formulars bekommen. z.B. Ich habe ein Label auf dem Formular mit Caption: 'Hallo Welt!' - Jetzt wird auf Grund von Benutzeraktionen etc. dieser Wert in 'Helo World!' (oder sonstiges) geändert. Jetzt muss ich auf z.B. einem klick wieder den Wert reinschreiben, den das Label beim Programmstart hatte (Also hier: 'Hallo Welt!'). Diese Aufgabe konnte ich bereits lösen, in dem ich die Unit reinit.pas aus dem Demo-Projekt (..\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32\RichEdit) nutze. Es scheitert jetzt daran, dass wenn Frames (TFrame) auf dem Formular liegen, diese (und die darin befindlichen Komponenten) nicht wieder zurück gesetzt werden. (Ehrlich gesagt liegt mein Problem beim Verständnis der TAsInheritedReader aus der Unit reinit.pas) Was müsste ich umbauen, um dies auch realisieren zu können? Ich habe versucht, die procedure ReinitializeForms anzupassen, was aber beim 2. aufruf in einer Zugriffsverletzung endete (Auskommentierter Quelltext). Ausserdem stimmt die Position des Frames nach dem neuladen nicht mehr.
Delphi-Quellcode:
Ich hab mal ein Demoprojekt angehängt, welches das Problem verdeutlichen soll.
procedure ReinitializeForms;
var Count: Integer; I,J: Integer; Form: TForm; Frame: TFrame; begin Count := Screen.FormCount; for I := 0 to Count - 1 do begin Form := Screen.Forms[I]; ReloadInheritedComponent(Form, TForm); //for J := 0 to Form.ComponentCount - 1 do begin // if Form.Components[J] is TFrame then begin // Frame := TFrame(Form.Components[J]); // ReloadInheritedComponent(Frame, TFrame); // end; //end; end; end; [edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit] |
Re: Komponenten einer Form neu laden / Problem mit Frames
Moin moin,
hat vielleicht heute einer eine Idee? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 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