![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по FtpGetFile
SortoVaritu © (2009-06-19 10:17:00)Вопрос в следующем. На FTP лежит несколько файлов. Эти несколько файлов являются разрезанным архивом rar. При использовании FTPGetFile файлы скачиваются на мой компьютер. НО при попытке их собрать в архив имеем ошибку контрольной суммы. Файлы по 100 МБ. Для доступа к FTP используется прокси. В чем может быть проблема?
SortoVaritu (2009-06-22 12:14:00) [61]FtpCommand(hFtp,true,FTP_TRANSFER_TYPE_BINARY,
PChar('RETR '+MyFile),0,hFile)
Функция вызывается вызывается следующим образом
function FtpCommand(
hConnect: HINTERNET;
fExpectResponse: BOOL;
dwFlags: DWORD;
lpszCommand: PChar;
dwContext: DWORD;
var phFtpCommand: PHINTERNET): BOOL;
stdcall; external 'wininet.dll' name 'FtpCommandA';
Вроде бы как все сделано верно.
brother (2009-06-22 12:13:00) [62]ну стандартно: ошибка в 17 строке
Сергей М. (2009-06-22 11:59:00) [63]А я откуда знаю, что у тебя там с ним не так ?
Мне отсюда не видать)
SortoVaritu (2009-06-22 11:58:00) [64]а что не так с прототипом функции?
Сергей М. (2009-06-22 11:53:00) [65]
> как быть
Адрес запоминать)
И внимательноизучать прототип ф-ции.
SortoVaritu (2009-06-22 11:50:00) [66]И как быть
brother (2009-06-22 11:38:00) [67]много чего...
SortoVaritu (2009-06-22 11:24:00) [68]И что сие может озночать
brother (2009-06-22 11:22:00) [69]> только почему то ошибку с памятью выбрасывает.
> access violetion at address
мдя(
SortoVaritu (2009-06-22 11:15:00) [70]access violetion at address "адрес не помню". write to address FFFFFFFFF
Сергей М. (2009-06-22 11:11:00) [71]Что, вот прямо так и говорит "я, ошибка переполнения памяти, выхожу" или "меня, ошибку, выбросили вместе с памятью" ?
Ты не в состоянии привести дословныйтекст увиденного тобой, да ?
SortoVaritu (2009-06-22 11:08:00) [72]Так я по этой ссылке и читал использование FTPCommand. Там получается, что при успешном выполнении данной комманды должна сгенерироваться переменная hFIle. Так она я так понял и генерируется, только почему то ошибку с памятью выбрасывает.
Сергей М. (2009-06-22 11:03:00) [73]http://www.cryer.co.uk/brian/delphi/wininet/example_ftpcommand.htm
brother (2009-06-22 10:59:00) [74]> Еще как могут
на каком основании позволь полюбопытствовать?
SortoVaritu (2009-06-22 10:59:00) [75]Кстати данная проблема не только с моей прогой, но и с некоторыми FTP клиентами.
Сергей М. (2009-06-22 10:52:00) [76]
> они не могут этого сделать
Еще как могут
SortoVaritu (2009-06-22 10:49:00) [77]Есть еще вопрос. Если вместо FTPGetFile использовать FTPCommand. Вернее я это уже пробую. Но есть загвоздка.
При выполнении FtpCommand(hFtp,true,FTP_TRANSFER_TYPE_BINARY,
PChar('RETR '+MyFile),0,hFile) у меня выходит ошибка переполнения памяти. А вот комманда FtpCommand(hFtp,true,FTP_TRANSFER_TYPE_ASCII,
PChar('LIST'),0,hFile) выполняется без проблем.
brother (2009-06-22 10:39:00) [78]снифь порт и смотри, в чем различия (твоя прога и командер тотал)))))
SortoVaritu (2009-06-22 10:35:00) [79]Вот в том то и дело. Вообщем-то нигде данная ситуация и не описана. Да и в случае с коммандером ведь прокси сессию не рвет, а файервол у меня отрублен.
brother (2009-06-22 10:32:00) [80]> сессию рвет не файрвол и не прокси
они не могут этого сделать, тк соединение установлено