Ich vermute mal, dass CreateIconFromBmp eine benutzerdefinierte (selbstgeschriebene) Prozedur ist. Du könntest diese doch dahingehend ändern, dass Du das Icon als Parameter übergibst. Somit sparst Du Dir das ständige Neuerstellen und Zuweisen des Handles. Das könnte dann etwa so aussehen:
Delphi-Quellcode:
//erstellticon ist meinetwegen jetzt ein privates Feld
if not Assigned(erstellticon) then
begin
erstellticon := TIcon.Create;
icondata.hIcon := erstellticon.Handle;
end;
CreateIconFromBmp(Viewingbox.Picture.Bitmap, erstellticon);
Shell_NotifyIcon(NIM_MODIFY, @icondata);
Getippt und nicht getestet (frei nach marabu
)