Hiermit lässt sich ein Icon auslesen und in ein TImage speichern:
Delphi-Quellcode:
// momentane uses
uses
FMX.Controls, System.Classes,
Winapi.ShellApi,
WinApi.Windows,
Vcl.ExtCtrls;
procedure TBarButton.GetIcon;
var
InfoData : SHFILEINFO;
begin
SHGetFileInfo(PChar(FShortCut), 0, InfoData, SizeOf(InfoData), SHGFI_ICON);
Img := TImage.Create(Self);
Img.Picture.Icon.Handle := InfoData.hIcon;
end;
Zur Laufzeit bekomme Ich dann folgenden recht netten Fehler:
Zitat:
TImage kann nicht zu TImage zugewiesen werden.
Das lässt sich einfach ergründen:
Image auf der Form ist (Weil FM-HD APP) = FMX.Objects.TImage.
Image aus der anderen
Unit aber
Vcl.ExtCtrls.
Leider muss ich das TImage aus
Vcl.ExtCtrls nehmen weil
das FMX Image keine
Zitat:
.Picture.Icon.Handle
implementation hat....
Idealer wäre jetzt das
Vcl.ExtCtrls.TImage so zu Konvertieren, das ein Bitmap oder sonstwas entsteht welches Ich FMX.Objects.TImage zuweise.
Speicherlöcher habe Ich keine momentan, programmiere auch immer mit ReportMemoryLeaksOnShutdown; damit Ichs schnell merke.
Hat jemand eine Idee wie Ich mein Bild elegant übergebe? Ich habe schon einiges versucht...