Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Reihenfolge von Create, OnCreate und Laden der Formulard

  Alt 28. Jun 2004, 22:20
Moin!

Die DFM Parameter werden erst nach dem Constructor geladen, da schliesslich die Instanz ordentlich erstellt worden sein. Als Lösungstipp folgendes: Definiere die neue Variable als Property zum Zugriff und rufe bei der Set Methode eine virtuelle Funktion auf. Diese kannst du dann überschreiben in den Ableitungen und bekommst beim setzen dann somit das "Laden" mit.

Ist zwar nicht das besten, aber sollte funktionieren. Haben wir ähnlich auch schonmal angewendet. Ansonsten wäre eine fast bessere Methode dabei, wenn du die virtuelle Methode nicht von der Set-Routine der Proeprty aufrufst sondern nach dem Create der Form (also nach dem Form1 := TForm1.Create()) - und wenn du es dadurch selbst explizit die Form erstellen musst, aber da sind die DFM Einstellungen schon geladen zu dem Zeitpunkt.

Ansonsten als dritte Möglichkeit musst du mal forschen, da auch der ComponentState eine csLoading Element hat und somit "wissen" die Instanzen davon, was geschieht - u.a. auch das Laden der Properties. Vielleicht findest du dazu noch eine virtuelle Methode zum überschreiben als Event zum triggern. Ich habe leider im Moment kein Delphi hier um selber nachzuschauen.

Aber das mal so als Tipps...

MfG
Muetze1
  Mit Zitat antworten Zitat