Читать «Виртуальная библиотека Delphi» онлайн - страница 19
Unknown
1.Подключить сетевой ресурс
WNetAddConnection(NetResourse,Password, LocalName:PChar):longint;
где NetResourse — имя сетевого ресурса (например '\\P166\c')
Password — пароль на доступ к ресурсу (если нет пароля, то пустая строка)
LocalName — имя, под которым сетевой ресурс будет отображен на данном компьютере (например 'F:')
Пример подключения сетевого диска
WNetAddConnection('\\P166\C','','F:');
Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее часто используемые :
NO_ERROR — Нет ошибок — успешное завершение
ERROR_ACCESS_DENIED — Ошибка доступа
ERROR_ALREADY_ASSIGNED — Уже подключен. Наиболее часто возникает при повторном вызове данной функции с теми-же параметрами.
ERROR_BAD_DEV_TYPE — Неверный тип устройства.
ERROR_BAD_DEVICE — Неверное устройство указано в LocalName
ERROR_BAD_NET_NAME — Неверный сетевой путь или сетевое имя
ERROR_EXTENDED_ERROR — Некоторая ошибка сети (см. функцию WNetGetLastError для подробностей)
ERROR_INVALID_PASSWORD — Неверный пароль
ERROR_NO_NETWORK — Нет сети
2.Отключить сетевой ресурс
WNetCancelConnection(LocalName:PChar; ForseMode:Boolean):Longint;
где
LocalName — имя, под которым сетевой ресурс был подключен к данному компьютеру (например 'F:')
ForseMode — режим отключения :
False — корректное отключение. Если отключаемый ресурс еще используется, то отключения не произойдет (например, на сетевом диске открыт файл)
True — скоростное некорректное отключение. Если ресурс используется, отключение все равно произойдет и межет привести к любым последствиям (от отсутствия ошибок до глухого повисания)
Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее часто используемые :
NO_ERROR — Нет ошибок — успешное завершение
ERROR_DEVICE_IN_USE — Ресурс используется
ERROR_EXTENDED_ERROR — Некоторая ошибка сети (см. функцию WNetGetLastError для подробностей)
ERROR_NOT_CONNECTED — Указанное ус-во не является сетевым
ERROR_OPEN_FILES — На отключаемом сетевом диске имеются открытые файлы и параметр ForseMode=false
Рекомендация: при отключении следует сначала попробовать отключить ус-во с параметром ForseMode=false и при ошибке типа ERROR_OPEN_FILES выдать запрос с сообщением о том, что ус-во еще используется и предложением отключить принудительно, и при согласии пользователя повторить вызов с ForseMode=true
Внешние модули (DLL), нити
Надо подключить DLL и использовать некоторые ее функции.
Есть первый вариант:
procedure procname1(param1:type1; param2:type2... и т.д.) external 'dllname.dll' name 'procname_in_dllfile';
Но тут есть один нюанс: при отсутствии DLL модуля, либо при отсутствии в нем указанной процедуры будет выдаваться ошибка и запуск программы будет отменен.
Второй вариант:
Type
prc1 = procedure (param1:type1; param2:type2... и т.д.) ;
var
proc1 : prc1;
head : integer ; // или что-то в этом роде
.....
var
p : pointer;