Ich lasse mehrere .png's auf einer GUI zeichnen (als Ersatz für Buttons), der Code für die jeweiligen Buttons sieht so aus;
;Exit
$h_Exit_Pic = GUICtrlCreatePic("", @DesktopWidth - 18, 2)
$h_Exit_hImage = _GDIPlus_ImageLoadFromFile("Skin\Power.png")
$h_Exit_Bmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($h_Exit_hImage)
_WinAPI_DeleteObject(GUICtrlSendMsg($h_Exit_Pic, 0x0172, 0, $h_Exit_Bmp))
Was auch wunderbar funktioniert, alles wird richtig angezeigt, ist klickbar, etc.
In der Funktion "OnExit" die mit dem Button verlinkt ist passiert dann folgendes für jeden Button;
Was allerdings beim aufrufen der OnExit() Funktion zu einem Fehler führt (keine Meldung, ein einfaches "hat einen Fehler festgestellt und musste beendet werden").
Lasse ich die beiden Befehle weg, beendet es sich alles normal aber die Ressourcen werden eben nicht freigegeben.
Irgendwer eine Idee wodurch der Absturz entsteht?
Interessant wäre auch noch, ob es möglich ist unter so erstellte GDI+ images ein weiteres (nicht zwingend transparentes) Bild anzuzeigen.