Announcement

Collapse
No announcement yet.

Properties innerhalb Create zuweisen?!?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Properties innerhalb Create zuweisen?!?

    Hi,<P>in einem Constructor der Komponente A sollen dessen Eigenschaften an andere Komponenten, B und C, zugewiesen werden. Zu meiner Verwunderung kennt A noch nicht seinen Namen innerhalb von Create. Weil A erst noch erstellt wird?? Wie kann ich aber dann doch B und C einzelne Properties von A zuweisen, während oder kurz nachdem A erstellt wurde?

    Vielen Dank, Adonis

  • #2
    Hat denn keiner eine Idee???

    Comment


    • #3
      Sorry, aber ich lese die Einträge immer etwas spät..

      Du musst .Loaded überladen (wird von TControl vererbt). Diese Procedure wird immer aufgerufen, wenn eine Komponente aus dem Stream geladen wird, also auch nach dem Create-Befehl.

      In etwa so:
      <PRE>
      public
      Procedure Loaded; override;
      ...

      Procedure TMyControl.Loaded;
      begin
      inherited;
      s:=self.name;
      t:=self.parent;
      ....
      end;
      </PRE>

      pl

      Comment


      • #4
        Hi Sebastian,
        dat läuft ja klasse.
        Noch nebenbei: Create der Kompo A wird doch auch aufgerufen wenn man diese während der Entw.-zeit auf das Form zieht?! Wird danach auch Loaded aufgerufen? scheint nicht so!

        Nochmals Danke, Dein Adoni

        Comment


        • #5
          Richtig. Es gibt einen Unterschied.
          Wenn die Componente während der Entwurfszeit das erste (!) Mal erstellt wird, wird nur die OnCreate-Routine aufgerufen.
          Die Komponente wird dann in *.dfm abgespeichert und jetzt wird nach jedem Create (in Design und Runtime) die Loaded-Routine aufgerufen (da die Komponente hier nicht komplett neu erstellt wird sondern aus einem Stream geladen wird)

          Comment

          Working...
          X