![]() |
AW: Dynamische Packages - Forms anzeigen - Leak
Das mit dem ausgelagerten Anzeigen ist eine gute Idee.
Danke. Hilft allerdings noch nicht gegen das problem, dass non-modale Forms nicht korrekt angezeigt werden. Und das eigentliche Problem, dass durch die Klassenregistration Speicher geleakt zu werden scheint.
Delphi-Quellcode:
Initialization
Registerclass(TTestform); // hier Finalization Unregisterclass(TTestform); Zitat:
|
AW: Dynamische Packages - Forms anzeigen - Leak
Das mit dem RegisterClass ist seltsam. Wie hast du deine Methode denn getestet wenn das Formular gar nicht registriert ist?
Aber mach mal im OnClose von deiner BPL Form
Delphi-Quellcode:
rein. Dann wird das Form beim Schließen freigegeben und das mit dem Leak sollte sich erledigt haben.
Action := caFree;
|
AW: Dynamische Packages - Forms anzeigen - Leak
Zitat:
wird ja hier
Delphi-Quellcode:
auch an entsprechender Stelle abgebrochen.
Form := Loadform(Application, 'Testform', True);
If Form <> Nil Then With Form Do Begin Showmodal; // Leaks 176 bytes Free; End; Da es sich bei einer Testform um ein komplett leeres (neu erstelltes) Formular ohne jeglichen code handelt, das nichts ausführt und keine komponenten hat, außer der Form selbst, dachte ich dass es nur an der Registierung hängen kann...Denkfehler? Anmerkungen: - Auch wenn ich bei bestehender Registrierung den gesamten Teil (..Loadform...) auslasse (i.e check ob loadform NIL ergibt) und die Form nicht lade, gibts ein Leck. - Wenn die Form mehrmals nacheinander aufgerufen und wieder geschlossen wird, bleibt die Leckgröße konstant Die Action:=cafree festzulegen, hat leider keinen Effekt gezeigt. |
AW: Dynamische Packages - Forms anzeigen - Leak
Und wieviel "Leak" wird es, wenn du die Form 100 Mal anzeigen lässt?
|
AW: Dynamische Packages - Forms anzeigen - Leak
Zitat:
|
AW: Dynamische Packages - Forms anzeigen - Leak
Gibts nicht ein bekanntes (noch nicht behobener) Leak beim Dynamischen Laden und Endladen von Packages?
ist also (wenn man nicht selbst Quellcode anpassen kann als "As Designed" anzusehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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