Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#1

Package - Unit.Initialization - Reihenfolge

  Alt 6. Mär 2011, 17:46
Ich erstelle im Initializationsteil einer Unit (UnitA) eine Liste, in der ich erzeugte Instanzen einer Klasse verwalte.
In einer anderen Unit-Initalisierung (UnitB) erstelle ich solch eine Instanz.

Wie kann ich es erreichen, dass UnitA (beide sind in einem gemeinsamen Package) IMMER zuerst initialisiert wird?

In einem anderen Beitrag (die Frage betraf aber Lazarus) hat himitsu geschrieben:
Zitat:
Die Punkte 1 und 2 sind z.B. Delphi zwar auch "unberechenbar", aber es steht definitiv fest, daß alle Units, welche im Interface eingebunden werden immer vor der Initialization initialisiert werden.
Nur bei Units, welche erst in der Implementation eingebunden werden, ist diesbezüglich keine Garantie festgelegt.
Ansonsten habe ich widersprüchliche Aussagen dazu gefunden.

Ich habe UnitA in der interface Uses-Liste von UnitB aufgenommen.
Auch habe ich testweise im initialization-Teil von UnitB TMyClass.Create(nil).Free aufgenommen.
Damit dachte ich, UnitA.Initialization erzwingen zu können.
Die Klasseninstanz wird zwar erzeugt, die Unit-Initialisierung aber (noch) nicht aufgerufen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli ( 6. Mär 2011 um 18:31 Uhr)
  Mit Zitat antworten Zitat