情况是这样的,我软件启动时加载图片(image.picture:=LoadFromFile(....)),启动以后可以选择图片做为背景,并将图片复制到软件所在的目录下,并删除以前的图片,此是就删不掉啊,代码如下:
加载:
MyIni:=TIniFile.Create(extractfilepath(application.ExeName)+'software.INI');
bjtpname:=myini.ReadString('rjsz','bjtpname','');//从INi文件获取设置使用的图片文件名
if FileExists(extractfilepath(application.ExeName)+bjtpname)=true then
begin
image1.Picture.LoadFromFile(extractfilepath(application.ExeName)+bjtpname);//加载图片文件
end;
软件打开后
设置保存
//删除原来的文件;
I := SizeOf(Image1.Picture.Graphic);
P := @Image1.Picture.Graphic;
Image1.Picture.Assign(nil);
ZeroMemory(P,I);
MyIni:=TIniFile.Create(extractfilepath(application.ExeName)+'software.INI');
name:=myini.ReadString('rjsz','bjtpname','');//获取原来使用的图片文件
if FileExists(extractfilepath(application.ExeName)+name)=true then
begin
deletefile(extractfilepath(application.ExeName)+name);//删除,我测试后,他执行了,还是删除不掉
end;
name:=ExtractFileName(OpenPictureDialog1.FileName);//获取新选择的图片文件名
MyIni:=TIniFile.Create(extractfilepath(application.ExeName)+'software.INI');
myini.WriteString('rjsz','bjtpname',name);//保存新选择的图片文件名
copyfile(PCHAR(OpenPictureDialog1.FileName),PCHAR(extractfilepath(application.ExeName)+name),false); //将选择的图片复制到软件所在目录
代码就是这样了,还是删不掉啊,我也觉得怪啊