Форум: "Сети";
Текущий архив: 2003.12.04;
Скачать: [xml.tar.bz2];
ВнизПроблема с подключением сетевого диска Найти похожие ветки
← →
xGhost (2003-10-07 13:25) [0]Использую функцию WNetAddConnection , если удалёный компьютер 98
то диск подключаеться как нив-чём не бывало , если win2000 pro то подключение не производиться хотя и пишет что ошибок нет ! в чём дело ? Если использовать стандартные средства windows то всё работает ...
← →
Unknown (2003-10-07 13:35) [1]кто пишет что нету ошибок ? случайно не ты ? :)
← →
xGhost (2003-10-07 13:56) [2]> Unknown
Если ты не умеешь пользоваться отладкой то это твои проблемы !
И если ты не умеешь отвечать на вопросы это тоже твои проблемы !
← →
Unknown (2003-10-07 14:09) [3]>>xGhost © (07.10.03 13:56) [2]
ну ты даещь...
хотя бы код привел... тут на форуме много говорят про телепатии но никто толком еще не нучился этому делу :)
← →
Warlock (2003-10-07 14:11) [4]var NetRes: NETRESOURCE;
NetRes.dwType:=RESOURCETYPE_DISK;
NetRes.lpRemoteName:="\\Server\Folder";
NetRes.lpLocalName:="T:";
if WNetAddConnection2(NetRes,nil,nil,CONNECT_UPDATE_PROFILE) in [NO_ERROR,ERROR_ALREADY_ASSIGNED] then
Writeln("Net Drive "W" Assigned")
else
Writeln("ERROR! Can`t assign network drive "W"");
← →
xGhost (2003-10-07 14:14) [5]> так не канает :(
не идёт и всё !
подключал вот так
WNetAddConnection(pchar("\\"+form5.ip_2.Caption+"\"+formconfig.name_dik_res.Text),pchar(pas_s),pchar(formconfig.Name_sd. Caption))
так работает на win9x на NT не хочет !
Нащёл код для NT
function GetMap(pDrv, pS: string): boolean;
var
nw : TNetResource;
Err : DWORD;
sMsg : string;
begin
Result := False;
nw.dwType:=RESOURCETYPE_DISK;
nw.lpLocalName:=PCHAR(pDrv+":");
nw.lpRemoteName:=PChar(pS);
nw.lpProvider:=nil;
sMsg := "";
Err:=WNetAddConnection2(nw,nil,nil,0); // попытка подключить сетевой диск
If (Err=NO_ERROR) or (Err=ERROR_DEVICE_ALREADY_REMEMBERED) then
begin
Result := True;
//WNetCancelConnection2(nw.lpLocalName,0,True); // отключить сетевой диск
end
else
begin
case Err of
ERROR_ACCESS_DENIED :
sMsg:="Недоступен сетевой ресурс "+nw.lpRemoteName;
//sMsg:="Access to the network resource was denied";
ERROR_ALREADY_ASSIGNED :
begin
//sMsg:="Локальное устройство, указанное как ""+nw.lpLocalName+"" уже соединено с ресурсом сети";
//sMsg:="The local device specified by lpLocalName is already connected to a network resource";
Result := True;
end;
ERROR_BAD_DEV_TYPE :
sMsg:="Тип локального устройства и тип ресурса сети не согласуются";
//sMsg:="The type of local device and the type of network resource do not match";
ERROR_BAD_DEVICE :
//sMsg:="The value specified by lpLocalName is invalid";
sMsg:="Значение, указанное как ""+nw.lpLocalName+"" недопустимо";
ERROR_BAD_NET_NAME :
//sMsg:="The value specified by lpRemoteName is not acceptable to any network resource provider. The resource name is invalid, or the named resource cannot be located";
sMsg:="Значение, указанное как ""+nw.lpRemoteName+"" недопустимо для любого поставщика ресурса сети. Имя ресурса недопустимо, или именованный ресурс не может размещен";
ERROR_BAD_PROFILE :
//sMsg:="The user profile is in an incorrect format";
sMsg:="Профиль пользователя имеет некорректный формат";
ERROR_BAD_PROVIDER :
//sMsg:="The value specified by lpProvider does not match any provider";
sMsg:="Значение, указанное lpProvider не соответствует никакому поставщику";
ERROR_BUSY :
//sMsg:="The router or provider is busy, possibly initializing. The caller should retry";
sMsg:="Программа маршрутизации или поставщик заняты, возможно инициализация. Повторите вызов позже";
ERROR_CANCELLED :
//sMsg:="The attempt to make the connection was cancelled by the user through a dialog box from one of the network resource providers, or by a called resource";
sMsg:="Попытка делать связь была отменена пользователем через блок диалога от одного из поставщиков ресурса сети, или называемым ресурсом";
ERROR_CANNOT_OPEN_PROFILE :
//sMsg:="The system is unable to open the user profile to process persistent connections";
sMsg:="Система неспособна открыть профиль пользователя, чтобы обработать постоянные связи";
ERROR_DEVICE_ALREADY_REMEMBERED :
//sMsg:="An entry for the device specified in lpLocalName is already in the user profile";
sMsg:="Вход для устройства, указанного в ""+nw.lpLocalName+"" - уже в профиле пользователя";
ERROR_EXTENDED_ERROR :
//sMsg:="A network-specific error occured. Call the WNetGetLastError function to get a description of the error";
sMsg:="Сетевая ошибка уже встречалась. Назовите функцию WNETGETLASTERROR, чтобы получить описание ошибки";
ERROR_INVALID_PASSWORD :
//sMsg:="The specified password is invalid";
sMsg:="Указанный сетевой пароль неверен";
ERROR_NO_NET_OR_BAD_PATH :
//sMsg:="A network component has not started, or the specified name could not be handled";
sMsg:="Сеть не запущена, или указанное имя не могло быть обработано";
ERROR_NO_NETWORK :
//sMsg:="There is no network present";
sMsg:="Сеть недоступна";
else
sMsg:=IntToStr(Err)+" - код ошибки при подключении диска "+pDrv;
end;
if sMsg<>"" then
ShowMessage(sMsg);
end;
end;
но так отказываеться работать на win9x говорит что пароль не верный :(
← →
Reindeer Moss Eater (2003-10-07 14:15) [6]Если ERROR_ALREADY_ASSIGNED то про ошибки твой код не напишет, а диск не замапится.
← →
xGhost (2003-10-07 14:25) [7]> Reindeer Moss Eater
уже нашёл и исправил
← →
xGhost (2003-10-07 14:28) [8]Всё всем спасибо ! данный код который я нашёл позволяет работать с любуй OS семейства windows ( не считая win3.1 ) так что всем спасибо ещё раз ! проблемы больше нет
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.12.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c