Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [Windows 7] Gibt es noch resourcen die ins System leaken? (https://www.delphipraxis.net/183797-%5Bwindows-7%5D-gibt-es-noch-resourcen-die-ins-system-leaken.html)

zagota 5. Feb 2015 12:02

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Zitat:

Zitat von Klaus01 (Beitrag 1288893)
.. ganz unten in dem link aus Beitrag #6 ist doch das IDE-Fixpack von jbg aufgeführt - sollte damit nicht dem Problem beizukommen sein?

Grüße
Klaus

Ich glaube das ist nur ein Fix für die IDE, den Fix für die Sourcen musst du in der controls.pas durchführen.

cu

Memnarch 5. Feb 2015 12:13

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Jup da gibts ControlAtomsFix.pas
Sieht auch vielversprechend aus. Frage ist nur:

Besagtes Programm linkt gegen ein Package(Von uns), welches gegen die VCL/RTL Packages gelinkt ist.
Die besagte unit mit dem FIX soll aber unbedingt vor allen GUI units laufen. Das heißt, wenn ichs an den anfang der dpk von unserem Basispackage packe läuft deren Initialize trotzdem nach denen der VCL/RTL packages, oder? Damit wäre Controls.pas mindestens einmal gelaufen bevor die FixUnit läuft.

Memnarch 10. Feb 2015 09:20

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Nachdem ich ejtzt mal ein bisschen rumprobiert habe, musste ich feststellen, dass die ControlsAtomFix.pas nicht funktioniert.
Builde ich ohne packages
"Patch applied" meldung, leaked aber weiterhin

wenn ich mit Packages Builde kommt gar keine Meldung, und es leaked weiter.

EDIT:
Im Consolefenster meldets mit dann "RegisterWindowMessageW import table slot not found"

Memnarch 10. Feb 2015 14:38

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Ich hab jetzt eine eigene implementierung gemacht, die MadCodeHook benutzt. Wetaus kürzer und lesbarer und funktioniert jetzt wies soll.
Zugegeben, da gabs noch ein anderes Problem:

Meine Applikation linkt gegen PackageA(Was gegen RTL/VCL gelinkt ist). Allerdings linkt meine Applikation auch gegen MeineDll, welche auch gegen PackageA linkt. Was bedeutet das? Es zerrümpelt die Reihenfolge in der units initialisiert werden, den dadurch kommen erst die units aus den packages und dann die units aus Meiner Applikation (normalerweise ist das von der Reihenfolge in der Applikation abhängig). Deswegen war auch schon alles initialisiert bevor der erste initialisierungsblock meiner Applikation lief -.-

EDIT: Habe den Verdacht, dass das laden der Packages durch die DLL auch hierfür verantwortlich ist:
CreateProcessAsUser + Link gegen VCLPackage = kein Application.Handle

Dass muss ich aber nochmal testen


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz