Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Verzögertes Laden von Komponenten in Delphi 2005

  Alt 18. Nov 2004, 10:10
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.
Daniel W.