Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

WinInet API

10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
Здравствуйте, почему-то функция ftpOpenFile в упор не видит файла, с FtpSetCurrentDirectory тоже самое вот вырезки из проги:

InetHandle := InternetOpen(PChar('FTP'),
INTERNET_OPEN_TYPE_DIRECT,
Nil, Nil, 0);
FtpHandle := InternetConnect(InetHandle, PChar
('ftp.my.ru'), 21, PChar
('User'),PChar('Pasword'),
INTERNET_SERVICE_FTP, 0, 0);

FtpSetCurrentDirectory(FtpHandle, PChar(FTPDir));

FtpFindFirstFile(FtpHandle, PChar
('test.php'), sRec, 0, 0)

hFile := ftpOpenFile(FtpHandle,'test.php',
GENERIC_WRITE, FTP_TRANSFER_TYPE_UNKNOWN, 0);

Файл находится в директории котрую выбираю FtpSetCurrentDirectory, а размер файла становится 0 байт. где тут может быть ошибка?
335
26 августа 2005 года
enola
379 / / 25.01.2005
Вот рабочий код, проверять на соединение нужно и на установку директории:

Код:
HINTERNET hSession = NULL;
    HINTERNET hConnection = NULL;
    HINTERNET hDir = NULL;
    TWin32FindData sFile;

    hSession = fInternetOpen("FTP", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    if (hSession)
        hConnection = fInternetConnect(hSession, "ftp.anywhere.ru", 21,
            "user", "pass", INTERNET_SERVICE_FTP, 0, 1);

    if (hConnection)
        if (fFtpSetCurrentDirectory(hConnection, "\\pub"))
            hDir = fFtpFindFirstFile(hConnection, "myapp.exe", &sFile, 0, 0);


да еще чуть не забыл, в поиске посмотри, там есть рабочие примеры.
10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
Не хочет... Это может от сервера как зависить?
335
26 августа 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by student_ds
Не хочет... Это может от сервера как зависить?


не хочет, а в каком месте не проходит?

10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
Просто не находит в файл. Подключение, доступ проходят нормально.
335
26 августа 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by student_ds
Просто не находит в файл. Подключение, доступ проходят нормально.



а hDir = NULL ?

10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
Именно так.
335
26 августа 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by student_ds
Именно так.



а файл в той директории точно есть? ты смотрел?

10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
Файл, тот есть точно, смотрел, и не раз. С сервером может быть чего?
335
26 августа 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by student_ds
Файл, тот есть точно, смотрел, и не раз. С сервером может быть чего?


Попробуй на другом тогда точно знать будешь! :)

488
26 августа 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by student_ds
hFile := ftpOpenFile(FtpHandle,'test.php',
GENERIC_WRITE, FTP_TRANSFER_TYPE_UNKNOWN, 0);

Файл находится в директории котрую выбираю FtpSetCurrentDirectory, а размер файла становится 0 байт. где тут может быть ошибка?

Если хочешь читать файл, тогда нужен GENERIC_READ.

10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
Дык, это я знаю, мне писать в файл надо, с правами доступа все нормально, позволяют.
488
26 августа 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by student_ds
Дык, это я знаю, мне писать в файл надо, с правами доступа все нормально, позволяют.

Ага. Файл может иметь 0-ю длину, если в конце записи его не закрыть.

10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
Да он для записи и не открывается, проблемма в том что ни FtpFindFirstFile, ftpOpenFile файлы не видят и не открывают, а соединение и подключение прорходят нормально, даже директории меняются.
488
26 августа 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by student_ds
Да он для записи и не открывается, проблемма в том что ни FtpFindFirstFile, ftpOpenFile файлы не видят и не открывают, а соединение и подключение прорходят нормально, даже директории меняются.

А если после FtpFindFirstFile написать команду GetLastError(), то она какой код ошибки возвращает?

10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
Все разобрался, спасибо за содействие.
335
26 августа 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by student_ds
Все разобрался, спасибо за содействие.



в чем проблема то была? ты хоть для истории расскажи :)

10K
26 августа 2005 года
student_ds
15 / / 24.08.2005
А дело всеё было в сервере, какие-то там настройки хитрые установлены наверное, не измения код начал подключаться к другим северам, и всё совершенно нормально работало, блин... обидно, два дня парился...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог