ReleaseHandle hat dort nichts zu suchen:
Zitat:
ReleaseHandle informiert die TIcon-Instanz, dass sie für die Freigabe des Symbol-Handles nicht mehr zuständig ist.
Ico ist dafür verantwortlich das alte
Handle freizugeben, wenn ein neues
Handle zugewiesen wird.
Wenn man "Ico" erzeugt, muss man "Ico" auch freigeben und nicht irgendwas anderes z.B. "Ico_1".
Delphi-Quellcode:
procedure Bildauslesen(const ICON: string; IMG: TImage);
var
Hd: THandle;
Ico: TIcon;
begin
Hd := LoadImage(HInstance, ICON, IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR);
Ico := TIcon.Create;
try
Ico.Handle := Hd;
IMG.Picture.Assign(Ico);
finally
Ico.Free;
end;
end;