Einzelnen Beitrag anzeigen

Sequitar

Registriert seit: 8. Jan 2016
74 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Dynamische Packages - Forms anzeigen - Leak

  Alt 12. Jan 2016, 20:36
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 Action := caFree; rein. Dann wird das Form beim Schließen freigegeben und das mit dem Leak sollte sich erledigt haben.
Naja, ich kann natürlich die Form nur anzeigen lassen, wenn sie auch registriert ist. Ansonsten
wird ja hier
Delphi-Quellcode:
    Form := Loadform(Application, 'Testform', True);
                  If Form <> Nil Then
                    With Form Do
                      Begin
                        Showmodal; // Leaks 176 bytes
                        Free;
                      End;
auch an entsprechender Stelle abgebrochen.


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.

Geändert von Sequitar (12. Jan 2016 um 20:44 Uhr)
  Mit Zitat antworten Zitat