function DeleteFile(const FileName: string): Boolean;if FileExists('c:\a.txt') then DeleteFile('c:\a.txt');
uses shellapiprocedure MoveFileToDustbin(Filename : string); var T : TSHFileOpStruct; begin FillChar(T,SizeOf(TSHFileOpStruct),#0); with T do begin Wnd:=0; { No owner window } wFunc:=FO_DELETE; { Deleting, what else? } pFrom:=Pchar(Filename); fFlags:=FOF_ALLOWUNDO; end; SHFileOperation(T); { declared in ShellAPI } end;
function DeleteFile(const FileName: string): Boolean; begin result:=false; if FileExists('c:\a.txt') then DeleteFile('c:\a.txt'); result:=true; end; procedure TForm1.Button1Click(Sender: TObject); begin if not DeleteFile('c:\a.txt') then showmessage('sfdsf'); end;
DeleteFile('c:\a.txt');
shellapiprocedure MoveFileToDustbin(Filename : string);
var
T : TSHFileOpStruct;
begin
FillChar(T,SizeOf(TSHFileOpStruct),#0);
with T do
begin
Wnd:=0; { No owner window }
wFunc:=FO_DELETE; { Deleting, what else? }
pFrom:=Pchar(Filename);
fFlags:=FOF_ALLOWUNDO;
end;
SHFileOperation(T); { declared in ShellAPI }
end;
begin
result:=false;
if FileExists('c:\a.txt') then
DeleteFile('c:\a.txt');
result:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not DeleteFile('c:\a.txt') then
showmessage('sfdsf');
end;
问题在于2个函数名相同,DeleteFile('c:\a.txt'); 调用的是你自己定义的DeleteFile函数,形成的递归调用