Schön wäre es, wenn du auch noch die Resourcen-Schutzblöcke nachträgst.
Sonst möhlst du den Speicher immer noch zu, wenn LoadFromFile oder SaveToFile aus irgendwelchen Gründen fehlschlagen.
Delphi-Quellcode:
var LoadingFile:String; MyJPEG:TJPEGImage; MyBMP:TBitmap;
begin
LoadingFile:=ListBox1.Items.Strings[ListBox1.ItemIndex];
if extractfileext(LoadingFile)='.jpg' then
begin
MyJPEG:=TJPEGImage.Create;
try
With MyJPEG Do
Begin
LoadFromFile(LoadingFile);
MyBMP := TBitmap.Create;
try
With MyBMP Do
Begin
Width := MyJPEG.Width;
Height := MyJPEG.Height;
Canvas.Draw(0,0,MyJPEG);
SaveToFile(GAD+'DCWallpaper.bmp');
end;
finally
MyBMP.Free;
end;
finally
MyJPEG.Free;
end;
end;
if not SystemParametersInfo ( SPI_SETDESKWALLPAPER,
0,
PChar(GAD+'DCWallpaper.bmp'),
SPIF_SENDCHANGE OR SPIF_UPDATEINIFILE
) then
RaiseLastOSError;
end;
Schöne Grüße,
Jens