![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование файла из сети [D6]
Helen © (2006-10-18 09:43:00)Доброго дня. Подскажите, пожалуйста, как проверить доступность расшаренного ресурса и скачать оттуда файл, не подключая шару как сетевой диск, т.е. не использую функцию WNetAddConnection2().
Чапаев (2006-10-19 09:39:00) [1]> С какого перепугу ?
Издержки паскалевского опыта с его IOResult и GraphResult... ;-)
Ketmar (2006-10-19 08:15:00) [2]>[12] Чапаев(c) 18-Oct-2006, 19:22
>А разве первый вызов GetLastError() не обнулит внутреннюю
>переменную, хранящую код ошибки?
хм. я тоже так считал. перечитал справку: нет упоминаний о таком. предупреждают только, чтобы вызывали до других функций из системных DLL. и всё.
Сергей М. (2006-10-19 08:08:00) [3]
> Чапаев © (18.10.06 19:22) [12]
> разве первый вызов GetLastError() не обнулит внутреннюю
> переменную, хранящую код ошибки?
С какого перепугу ?
Чапаев (2006-10-18 19:22:00) [4]> Showmessage('Код причины отказа: ' + IntToStr(GetLastError)
> + ', причина отказа: ' + SysErrorMessage(GetLastError))
> ;
А разве первый вызов GetLastError() не обнулит внутреннюю переменную, хранящую код ошибки?
> NetResource.lpRemoteName:= Pchar('IPStation');
Думаю, будет быстрей, если задать IP-адрес.
Сергей М. (2006-10-18 11:21:00) [5]Нет, я имею ввиду сетевые настройки ОС
Helen (2006-10-18 11:00:00) [6]Вы имеете в виду
NetResource.dwType:= RESOURCETYPE_DISK;
NetResource.lpLocalName:= nil;
NetResource.lpRemoteName:= Pchar('IPStation');
NetResource.lpProvider := '';
Сергей М. (2006-10-18 10:57:00) [7]значит, что-то не в порядке с сетевыми настройками
Helen (2006-10-18 10:52:00) [8]кажется, что много времени уходит на подключение.
Сергей М. (2006-10-18 10:50:00) [9]А чем, собссно, WNetAddConnection2 не угодила ?
Helen (2006-10-18 10:47:00) [10]а как подключиться с определенным логином и паролем?
Сергей М. (2006-10-18 10:34:00) [11]Код отказа легко выяснить, попытавшись подключиться к заведомо недоступному ресурсу
if not CopyFile(...) then
Showmessage('Код причины отказа: ' + IntToStr(GetLastError) + ', причина отказа: ' + SysErrorMessage(GetLastError));
или
var
hFile: THandle;
..
hFile := CreateFile(...);
if hFile = 0 then
Showmessage('Код причины отказа: ' + IntToStr(GetLastError) + ', причина отказа: ' + SysErrorMessage(GetLastError));
Helen (2006-10-18 10:24:00) [12]А полробнее про коды не расскажите?
Сергей М. (2006-10-18 10:07:00) [13]
> как быть с доступностью
Ф-ции CreateFile и CopyFile вернут соотв.код отказа, если ресурс по тем или иным причинам не доступен
Helen (2006-10-18 09:59:00) [14]А как быть с доступностью. Да, ресурс расшарен не для всех пользователей, т.е. идти к нему надо с определенным логином и паролем
Сергей М. (2006-10-18 09:46:00) [15]См. CreateFile+ReadFile+WriteFile, CopyFile