![]() |
AW: Performance Messung der Unit-Initialisierungsphase
Zitat:
|
AW: Performance Messung der Unit-Initialisierungsphase
Ach ja, bei uns haben wir inzwischen nahezu alles "Schlimme" aus den unseren Initialization'en rausgenommen.
Stattdessen gibt es überall Class-Function ModulInitialize (in der Hauptklasse dieser Unit, bzw. des Package), die wir dann in einer zentralen Stelle der EXE aufrufen. Erstmal hatten wir das Problem, dass wir hier massig BPLs haben und wenn es dann irgendwo hing, war es schwer zu finden. So haben wir eine Funktion, die man "gemütlich" debuggen kann und wo sich "einfacher" eine gemeinsame Fehlerbehandlug einbauen ließ. Unter anderem eine Fortschrittsvariable, die für die großen Zwischenschritte mit einem Namen gefüllt wird. Einmal für die Fortschrittsanzeige beim Start und auch für den Fehlertext im großen Try-Except um alles drumrum. Für die großen bekannten Fehlerstellen kann uns ein "Benutzer" diesen Namen am Telefon einfach nennen, ohne Eurekalog vorlesen zu müssen/können. z.B. Acrobat zickt mal wieder rum oder das Font-Registrieren hängt mal wieder, weil MS-Office sich dämlich überall reinhängt. |
AW: Performance Messung der Unit-Initialisierungsphase
Die class constructoren sind ja im Prinzip auch initialization Bereiche in einer Unit.
Wann genau werden die eigentlich aufgerufen, ich vermute mal NACH dem initialization Teil. |
AW: Performance Messung der Unit-Initialisierungsphase
Class Conscrutctor direkt vor dem Initialization seiner Unit, in der Reihenfolge der Deklaration der Klassen.
Hab nicht nachgesehn, ob die das über die RTTI suchen, oder ob der Compiler den Aufruf implizit in das Initialization reinschreibt. Beim Class Desctructor genau andersrum, also am Ende des Finalization. Aber schön am Class Constructor ist, dass es nur gemacht wird, wenn die Klasse irgendwo verwendet wurde. Und nicht wie beim Initialization, wo der manuelle Aufruf die Klasse immer mit reinzieht, egal ob sie verwendet wird. Deswegen, und weil Ressourcen nicht benutzungsabhängig eingebunden werden können, ist die EXE mit der VCL so rießig. |
AW: Performance Messung der Unit-Initialisierungsphase
Hallo,
Zitat:
Ciao HeZa |
AW: Performance Messung der Unit-Initialisierungsphase
Zitat:
|
AW: Performance Messung der Unit-Initialisierungsphase
Zitat:
|
AW: Performance Messung der Unit-Initialisierungsphase
Zitat:
Es wäre ja auch sonst etwas unpraktisch, wenn du im Finalization auf die Klasse zugreifen willst. :stupid: Ist wie beim Inherited, im Constructor macht man das zuerst und im Destructor (meistens) zuletzt. :zwinker: |
AW: Performance Messung der Unit-Initialisierungsphase
![]() Kann ich sehr empfehlen, wenn es ums Profiling geht. |
AW: Performance Messung der Unit-Initialisierungsphase
Zitat:
Die initialisations können ja auch wieder class procedures aufrufen, wie unten als Vorschlag, dann wäre es gut wenn diese Klassen schon vor-construiert wären. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 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