Fenster Größe (wichtig/dringend)



  • Ich weiß, dass die Seite schon etwas älter ist (ist ja auch aus dem Archiv). Das Thema ist aber weiterhin gültig. Wenn du genaueres wissen willst suche mal nach OldCreateOrder.



  • Hundeman schrieb:

    Also ich habe die Erfahrung gemacht das einige Objekte im Konstruktor noch nicht existieren, im OnCreate allerdings schon.

    Konkretisiere das mal.

    Wie die Vorposter bereits feststellten, passiert das eigentlich nicht. Der Konstruktor wird von Application::CreateForm() aufgerufen, der Konstruktor der Basisklasse lädt und initialisiert alle Komponenten.

    Anders ist die Situation natürlich, wenn du eine Komponente entwickelst, da diese erst nach der Konstruktion vom Streaming-System geladen werden. In diesem Falle könntest du TComponent::Loaded() überladen (darin aber die Loaded()-Methode der Basisklasse aufrufen!), das unmittelbar nach der Deserialisierung aufgerufen wird.



  • So wie ich es verstanden habe ist es nur gefährlich OnCreate bzw. OnDestroy zu verwenden wenn man alte Projekte importiert werden. Wenn man etwas komplett neu erstellt ab dem BCB5 sollte man nur wissen das es zu Problemen kommen kann.

    audacia schrieb:

    Konkretisiere das mal.
    Wie die Vorposter bereits feststellten, passiert das eigentlich nicht. Der Konstruktor wird von Application::CreateForm() aufgerufen, der Konstruktor der Basisklasse lädt und initialisiert alle Komponenten.

    Anders ist die Situation natürlich, wenn du eine Komponente entwickelst, da diese erst nach der Konstruktion vom Streaming-System geladen werden. In diesem Falle könntest du TComponent::Loaded() überladen (darin aber die Loaded()-Methode der Basisklasse aufrufen!), das unmittelbar nach der Deserialisierung aufgerufen wird.

    Die genaue Sitauation weoß ich nicht mehr. Ich weiß nur noch das ich auf TLabels zugreifen wollte und ich im Konstruktor das jedesmal um die Ohren geschlagen bekommen habe.


Anmelden zum Antworten