Q&A

  • 네트워크 드라이브 연결에서....
안녕하십니까?
프로그램으로 네트워크 드라이브를 연결하는데 다른 OS에서는 연결이 잘 되는데 Win2000 Professional에서 연결이 잘 안됩니다. 어떤 컴에서는 되는 컴도 있고 함수를 잘못 쓴건지 아니면 뭐가 문제인지 모르겠습니다.
소스도 함께 올립니다.
OS가 WinNT일때 네트워크 드라이브 연결 부분 입니다.

        aUser := Server_User + #0;
        aPwd := Server_Pwd + #0;
        with ANetResource do
        begin
                dwType:=RESOURCETYPE_DISK;
                lpLocalName := PChar(Server_Dir);
                lpRemoteName := PChar(Server_path);
                lpProvider:=nil;
        end;
        StrPCopy(NT_DName, Server_Dir );
        StrCopy(PW,@aPwd[1]);
        StrCopy(UN,@aUser[1]);
        WNetCancelConnection2(PChar(Server_Dir),0,TRUE);
        rt := WNetAddConnection2(ANetResource, @PW, @UN,  0);
위의 WNetAddConnection2()함수가 Win 2000 Profe~~에서 제대로 동작 하지 않는것지 답변 부탁 드립니다.
감사 합니다.
1  COMMENTS
  • Profile
    한정운 2002.07.08 23:55
    델퐈이 기술지원팀(US)에 물어봤는데,
    Win2000 Professional에대해서 Delphi가 제대로 certify안된 부분이 많다고 하더군요...(그럼 어쩌라구?) --;
    저도 동일한 문제땀시롱 고생꽤나 했는데,
    아래 URL로 가보세요. 제시된 Source를 사용하니 잘 되더군요.

    http://www.scalabium.com/faq/dct0075.htm

    단,
    nw.lpLocalName := nil;
    이기 때문에 드라이브 접근할때, Fullname으로 하셔야 합져 ^^;
    예를들어,
    nw.lpLocalName := 'X:';
    로 했다면
    Image1.Picture.LoadFromFile('X:imageimage1.jpg');  
    같이 하면 되지만,
    nil로 잡았기 때문에
    Image1.Picture.LoadFromFile('\123.123.123.99.imageimage1.jpg');  
    같이 해야 접근할 수 있자나여^^;


    Windows2000 Professional에서 잘 돕니다.

    - 끝 -