Absturz von Mairlist beim Aufrufen des PFL-/Spezifikationsfensters

Nein, das ist in Ordnung so.

Zum Hintergrund:

Das GDI-“Leck” entsteht in dem Moment, wo die PNG-Grafiken für die Toolbars geladen werden. Das geschieht jedesmal, wenn ein Dialog mit Toolbars geöffnet wird. Der Eigenschaften-Dialog hat ja gleich zwei davon, auf der Seite “Aktionen”. Durch einen Bug in einer von mir verwendeten Library (PNGComponents) gehen dabei die GDI-Handles wie beschrieben “verloren”.

Ich bin dann zeitweise auf eine andere Methode zum Laden umgestiegen, die keinen solchen Bug hatte. Leider wurden dabei die PNGs zwischenzeitlich in ein anderes Format konvertiert, wobei die Transparenz teilweise verlorengegangen ist oder die Icons gar nicht mehr angezeigt wurden (z.B. auf den Browser-Leisten).

Jetzt wird wieder die alte, “kaputte” Methode verwendet. Allerdings lade ich alle benötigten Icons beim Programmstart vor und lasse sie dann geladen. So wirkt sich der Bug nicht mehr gravierend aus. Daher siehst du direkt nach dem Programmstart einen höheren Wert als früher. Dafür steigt er während des Öffnens des Dialoges nicht mehr so signifikant, und solange nach dem Schließen der alte Wert wieder da ist, ist alles ok :slight_smile:

Ich habe jetzt etwas rumgetestet… Es sieht leider so aus als ob es etwas mehr “leckt” als vorher. Aber nicht so stark wie vorher… :wink:

Das muss nichts Schlimmes bedeuten. Prinzipiell kann die Zahl der GDI-Objekte zur Laufzeit noch leicht ansteigen. Zum Beispiel werden die Icons der Playlist-Elemente erst dann geladen, wenn sie zum ersten Mal gebraucht werden. Hast du eine leere Playlist und fügst dann einen Stream ein, so dass das Stream-Icon zum ersten Mal dargestellt werden muss, dann wird das PNG erst in diesem Moment geladen, wofür 1-2 GDI-Objekte draufgehen. Macht aber nichts, denn das PNG bleibt danach im Speicher, so dass beim nächsten Zeichnen des Icons keine weiteren GDI-Objekte angelegt werden müssen.

Ein echtes GDI-Leck erkennt man daran, wenn man den gleichen (!) Dialog mehrfach öffnet und wieder schließt, dabei jedes Mal eine Anzahl GDI-Objekte angelegt aber weniger Objekte freigegeben werden, so dass die Gesamtzahl kontinuierlich steigt und nie eine “Sättigung” eintritt.

OK. Es bleibt bei 998 stehen. Egal was ich mache!! Yeah!! :wink:

1000 wären auch zuviel duck