Newsgroups : Borland : borland.public.delphi.internet.winsock : 2007 Sep : Re: Delete FTP File
| Subject: | Re: Delete FTP File |
| Posted by: | "Anthoni" (nono..@nono.com) |
| Date: | Mon, 24 Sep 2007 22:29:21 |
Hi Remy,
I changed the function and added the FTPDeleteFile() and tested and it seems
to work.
It deleted the file from our server. Could you have a quick look at my code
and make sure I am doing everything correctly please? Like I said, totally
new to WinInet and want to make sure dont have memory leaks, etc
<code>
function TfrmTest.zp_xFTPDelete(const aFile: string; var Err: String):
Boolean;
var
hNet, hFTP: HINTERNET;
bSuccess: Boolean;
sRec: TWin32FindData;
begin
//
Result := False;
//Prepare WinInet DLL
hNet := InternetOpen('myprogram.exe', INTERNET_OPEN_TYPE_PRECONFIG, nil,
nil, 0);
If hNet = Nil then
Begin
Err := 'Unable to get access to WinInet.Dll';
Exit;
End;
//Connect to FTP
hFTP := InternetConnect(hNet, PChar('mydomain.org'), 21, PChar('myuser'),
PChar('mypass'), INTERNET_SERVICE_FTP, 0, 0);
If hFTP = Nil then
Begin
Err := 'Failed to connect to host';
Exit;
End;
//Change to correct directory
bSuccess := FtpSetCurrentDirectory(hFTP, '/mydir/');
if not bSuccess then
begin
InternetCloseHandle(hFTP);
InternetCloseHandle(hNet);
Err := 'Failed to set correct directory';
Exit;
end;
If FtpFindFirstFile(hFTP, PChar(aFile), sRec, 0, 0) = nil then
Begin
InternetCloseHandle(hFTP);
InternetCloseHandle(hNet);
Err := 'Failed to locate correct file';
Exit;
End;
If FtpDeleteFile(hFTP, PChar(aFile)) = False then
Begin
InternetCloseHandle(hFTP);
InternetCloseHandle(hNet);
Err := 'Failed to delete file';
Exit;
End;
InternetCloseHandle(hFTP);
InternetCloseHandle(hNet);
Result := True;
end;
</code>
Regards
Anthoni