Das Problem ist ein anderes:
Das
Handle des Bitmaps ist nach Verlassen der Function GetThumbFromCache ungültig, da die verwendeten Interfaces ungültig sind. Also musst Du, nachdem du das
Handle mit GetSharedBitmap bekommen hast, sofort das Bitmap einmal wegkopieren:
Delphi-Quellcode:
Result := sharedbmp.GetSharedBitmap(hBmp);
if Succeeded(Result) then
begin
if Assigned(Bmp) then
begin
Bmp.SetSize(thumbsize.cx, thumbsize.cy);
Bmp.Handle := hBmp;
end;
end;
Bmp ist TBitmap und nach dem Bmp.Handle := hBmp auch gültig. Bmp.SaveToFile funktioniert z.B.
Also an dieser Stelle sofort in ein anderes Bitmap kopieren und dieses dann verwenden. Dann funktionierts...