L
lili365
Unregistered / Unconfirmed
GUEST, unregistred user!
我用他实现改名、转移功能,开始好用,后来却出错(在WIN98、WIN2000)下运行的,
经过调试发现是在改名时要么没有改名,要么类似COPY功能,只是将扩展名改了,即原来的
文件还存在,部分代码如下,有什么问题,请哥哥们会诊。
fstr,fstr1:SHFILEOPSTRUCT
....
with fstr do
begin
hwnd:=handle;
wFunc:=FO_RENAME;
pFrom:=pchar(source);
pTo:=pchar(dest);
fFlags:=FOF_SILENT ;
fAnyOperationsAborted:=false;
hNameMappings:=nil;
lpszProgressTitle:=nil;
end;
shfileoperation(fstr);
....
with fstr1 do
begin
hwnd:=handle;
wFunc:=FO_MOVE;
pFrom:=pchar(source);
pTo:=pchar(dest);
fFlags:=FOF_SILENT ;
fAnyOperationsAborted:=false;
hNameMappings:=nil;
lpszProgressTitle:=nil;
end;
shfileoperation(fstr1);
经过调试发现是在改名时要么没有改名,要么类似COPY功能,只是将扩展名改了,即原来的
文件还存在,部分代码如下,有什么问题,请哥哥们会诊。
fstr,fstr1:SHFILEOPSTRUCT
....
with fstr do
begin
hwnd:=handle;
wFunc:=FO_RENAME;
pFrom:=pchar(source);
pTo:=pchar(dest);
fFlags:=FOF_SILENT ;
fAnyOperationsAborted:=false;
hNameMappings:=nil;
lpszProgressTitle:=nil;
end;
shfileoperation(fstr);
....
with fstr1 do
begin
hwnd:=handle;
wFunc:=FO_MOVE;
pFrom:=pchar(source);
pTo:=pchar(dest);
fFlags:=FOF_SILENT ;
fAnyOperationsAborted:=false;
hNameMappings:=nil;
lpszProgressTitle:=nil;
end;
shfileoperation(fstr1);