Was kann man jetzt tun, wenn man erreichen will, dass ein
Package verzögert geladen wird, dieses aber nicht der Fall ist? Wie kann man feststellen, warum es vom verzögerten Laden ausgeschlossen wurde? Nun ja, während ich dieses Feature eingebaut habe, habe ich mir diese gleichen Fragen gestellt. Also habe ich, neben der Analyselogik auch eine große Log- und Reporting-Logik hinzugefügt. Diese Funktionalität steht jedem Entwickler zur Verfügung. Es gibt zwei Möglichkeiten das Reporting einzuschalten. Eine der Möglichkeiten arbeitet
Package-bezogen. Das kann dadurch erreicht werden, indem man die Funktion
EnableDemandLoadReport(Detailed: Boolean);
aus der
Unit DesignIntf innerhalb einer der
Register Prozeduren des
Design-Time Packages auffruft. Übergibt man den Parameter
False, so erhält man nur den Grund, warum das
Package ausgeschlosen wurde, übergibt man
True, so erhält man einen ausführlichen Report über alle durchgeführten Registrierungsvorgänge. Nachdem das
Package vollständig geladen und registriert wurde, erstellt die
IDE eine Textdatei welche den gleichen Namen wie das
Package trägt mit der Endung
.rpt. Diese Datei ist im gleichen Verzeichnis wie auch das
Package hinterlegt. Man kann auch globales Reporting einschalten, indem man in der Registry im Schlüssel
HKCU\Software\Borland\BDS\3.0\Package Cache einen oder beide der folgenden Werte einträgt:
Code:
Report=1
DetailedReport=1
Diese entsprechen den Aufrufen zu
EnableDemandLoadReport mit
False bzw.
True. Das geniale an der zweiten Lösung ist, dass man somit das Reporting für
alle Packages, also auch die Standardpackages von Borland einschaltet.