Ich wunderte mich, daß mein Icon in der Statusbar des Windows nicht refreshed wurde, wenn das Fenster von anderen verdeckt wurde.
Ich habe eine kleine grüne LED als Icon... und die war danach jedes mal wech.
Initialisiert habe ich das ganze so:
Code: Alles auswählen
CatchImage(0, ?LedGreen) : StatusBarIcon(#StatusBar_Main, 0, ImageID(0) ) : FreeImage(0)
...
LedGreen: IncludeBinary "C:\Mein_Datenpfad\LedGreen.ico"
Dem ist nicht so! Richtig wäre es also so:
Code: Alles auswählen
CatchImage(0, ?LedGreen) : StatusBarIcon(#StatusBar_Main, 0, ImageID(0) )
[... Programmcode...]
Exit:
; Und erst am Ende des Programmes
FreeImage(0)
; Wobei PB das ja auch von selbst freigibt.
PS: Ach so, weshalb ich überhaupt darauf gekommen bin das Icon gleich wieder zu free'n. Weil: Ein Icon in das Systray gepackt, bleibt auch nach dem Freigeben des Icons dort - auch wenn die Trayleiste zwischenzeitlich überdeckt war. Tja, und da habe ich es danach für das StatusBarIcon genauso machen wollen.

Code: Alles auswählen
AddSysTrayIcon (1, WindowID(#Window_Main), CatchImage(#TempPic, ?Icon)) : FreeImage(#TempPic)