Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по FtpGetFile


Страницы:   1 2 3 4 5 6

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]

> сессию рвет не файрвол и не прокси

они не могут этого сделать, тк соединение установлено


Страницы:   1 2 3 4 5 6

Наверх

Титульная страница Поиск, карта сайта Написать письмо