![]() |
Delphi-Version: XE
Problem mit Laufzeitpackages
Folgendes Problem: Ich habe eine Anwendung, die insgesamt 5 Laufzeitpackages nutzt. Dabei enthält ein Package eine Unit mit einer zentralen ObjectList. Im Moment erzeuge ich die Liste im initialization-Abschnitt. Das Problem ist, dass die mehrfach quer über alle Packages verwendet wird und der initialization-abschnitt scheinbar mehrfach durchlaufen wird. .Deswegen scheint die Liste mehrfacz erzeugt zu werden. Wie kann man das denn vernünftig lösen?
|
AW: Problem mit Laufzeitpackages
Hast Du dich schon mal mit dem Singleton-Pattern auseinander gesetzt?
|
AW: Problem mit Laufzeitpackages
Sicher, dass alle deine Projekte auch mit Runtime Packages kompiliert wurden? Wenn das der Fall ist, kann die initialization Section nur einmal durchlaufen werden und zwar wenn das diese Unit enthaltende Package geladen wird.
|
AW: Problem mit Laufzeitpackages
Moin Stevie.
Alle Pakete sind Laufzeit only mit Ausnahme von einem, welches Komponenten enthält. Das ist auf "Entwurf & Laufzeit" (ich hoffe, dass ist kein Problem - kann ich erst heute abend testen). |
AW: Problem mit Laufzeitpackages
Die Frage war eher, ob deine Anwendung gegen die Runtime Packages kompiliert ist und die Packages letztlich das Package mit dieser besagten Unit im requires haben. Sonst wird sie mehrfach einkompiliert und dann ist klar, dass der initialization Block mehrfach ausgeführt wird.
|
AW: Problem mit Laufzeitpackages
Okay, da werde ich etwas tiefer wühlen müssen. Ich prüfe mal alle requires-Einträge. Die Anwendung selber lädt nur das zentrale Package (welches auch die Liste enthält). Alle anderen Packages werden dynamisch zur Laufzeit mittels LoadPackage geladen.
|
AW: Problem mit Laufzeitpackages
Also, wie versprochen, hier mal das Wühlergebnis:
Delphi-Quellcode:
nachgeladen.
LoadPackage
Wenn ich durchsteppe, werden einige initialization-Abschnitte mehrfach durchlaufen und die Liste existiert zu bestimmten Zeitpunkten einfach nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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