EDBEngineError 的錯誤 |
尚未結案
|
eddiewong
一般會員 發表:12 回覆:11 積分:4 註冊:2003-08-15 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 首先在此再次感謝P.D.兄在之前問題的幫忙!!!新問題來了... 我的程式BDEAdmin-alias為\\你的問題, 我還是不是很明白, 不知你連線的對方是 win2000server, win2000professional, win98, winxp? 以及你網路介面是以 TCP/IP 或 NETBEUI 方式溝通, 不過按你的描述來看, 應該是對方所開放出來 的共用權限有問題, 否則正常來說, 在WINDOW內定義過網路共享磁碟, 應是會 在下一次自動連結, 以下有一個程式可以自動建立網路共享磁碟, 我在WIN98, WIN2000Professional測試過可以用的, 或許你可以用這個程式來自動建立 共享磁碟 function TForm1.NetDisk(UNC, NDisk: string): dword; var sysLoginUser:string; NR: TNETRESOURCE; dwResult: dword; lpBuffer: PChar;//lpstr; nSize: DWord; ERRstr: pChar; begin result:= 0; nSize:= 255; GetMem(lpBuffer, nSize); GetUserName(lpBuffer,nSize); sysLoginUser:= lpBuffer; // 取得系統登錄者名稱 // 中斷網路磁碟機 try WNetCancelConnection(pChar(NDisk),True); except on E: Exception do begin Application.MessageBox(pChar('系統錯誤:' E.Message), '中斷網路磁碟機',MB_ICONERROR MB_OK); exit; end; end; // 如果不輸入UNC, 則代表取消網路磁碟機 if trim(UNC)<>'' then begin result:= 0; NR.dwScope:= RESOURCE_GLOBALNET; NR.dwType:= RESOURCETYPE_DISK; NR.dwDisplayType:= RESOURCEDISPLAYTYPE_SHARE; NR.dwUsage:= RESOURCEUSAGE_CONNECTABLE; NR.lpLocalName:= pChar(NDisk); NR.lpRemoteName:= pChar(UNC); NR.lpProvider:= ''; // 連線網路磁碟機 try dwResult:= WNetAddConnection2(NR,pchar(''),pchar(sysloginUser), CONNECT_UPDATE_PROFILE); if dwResult <> NO_ERROR then begin case dwResult of ERROR_ACCESS_DENIED : ERRstr:= pChar('ERROR_ACCESS_DENIED' #13 '未獲准進入網路'); ERROR_ALREADY_ASSIGNED : ERRstr:= pChar('ERROR_ALREADY_ASSIGNED' #13 '已有相同的登入者先佔用'); ERROR_BAD_DEV_TYPE : ERRstr:= pChar('ERROR_BAD_DEV_TYPE' #13 '登入點與網路資源不符'); ERROR_BAD_DEVICE : ERRstr:= pChar('ERROR_BAD_DEVICE' #13 '登入者不存在於網路名單中'); ERROR_BAD_NET_NAME : ERRstr:= pChar('ERROR_BAD_NET_NAME' #13 '找不到指定的網路路徑'); ERROR_BAD_PROFILE : ERRstr:= pChar('ERROR_BAD_PROFILE' #13 '登入者的PROFILE檔格式有問題'); ERROR_BAD_PROVIDER : ERRstr:= pChar('ERROR_BAD_PROVIDER' #13 '網路介面不符'); ERROR_BUSY : ERRstr:= pChar('ERROR_BUSY' #13 '網路忙線中'); ERROR_CANCELLED : ERRstr:= pChar('ERROR_CANCELLED' #13 '網路不在線上'); ERROR_CANNOT_OPEN_PROFILE : ERRstr:= pChar('ERROR_CANNOT_OPEN_PROFILE' #13 '系統無法開啟登入者的PROFILE檔'); ERROR_DEVICE_ALREADY_REMEMBERED: ERRstr:= pChar('ERROR_DEVICE_ALREADY_REMEMBERED' #13 '這個登入者資源已被佔用'); ERROR_EXTENDED_ERROR : ERRstr:= pChar('ERROR_EXTENDED_ERROR' #13 '網路發生不可預期的錯誤'); ERROR_INVALID_PASSWORD : ERRstr:= pChar('ERROR_INVALID_PASSWORD' #13 '登入密碼不對'); ERROR_NO_NET_OR_BAD_PATH : ERRstr:= pChar('ERROR_NO_NET_OR_BAD_PATH' #13 '網路服務不存在或資源未共享'); ERROR_NO_NETWORK : ERRstr:= pChar('ERROR_NO_NETWORK' #13 '沒有網路環境'); else Errstr:= pChar('未定義錯誤'); end; Application.MessageBox(Errstr,'連線網路磁碟機',MB_ICONERROR MB_OK); result:= dwResult; end; except on E: Exception do begin Application.MessageBox(pChar('系統錯誤:' E.Message), '連線網路磁碟機',MB_ICONERROR MB_OK); end; end; end; end;使用方式 NetDisk('\\SHARED-C\DATA','P:') //路徑以UNC表達 |
eddiewong
一般會員 發表:12 回覆:11 積分:4 註冊:2003-08-15 發送簡訊給我 |
|
bhead811
一般會員 發表:13 回覆:18 積分:6 註冊:2003-05-29 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: hi : 因為這個function很有用,所以我一看到時,馬上就開始測試,但 我測試了以後,發現有一個問題,是我必須先手動連線,(例如:在執行裏,鍵入\\SHARED-C\DATA),之後再用此NetDisk function,這樣才能建立網路磁碟機,否則若沒有先手動連結的話,則會出現'未定義的錯誤'. 我的系統是win2000 professial. Best Regards應該是不會, 我測試過, 只要你參數下對, 系統是會自動連結的, 要不然就失去這個function的意義, 有空我再測測你的環境! |
bhead811
一般會員 發表:13 回覆:18 積分:6 註冊:2003-05-29 發送簡訊給我 |
引言:我找到原因了,實在是我的疏忽,問題是出在要加PASSWORD, dwResult := WNetAddConnection2(NR, pchar('xxxxxxx'), pchar(sysloginUser),CONNECT_UPDATE_PROFILE); 這個引言: hi : 因為這個function很有用,所以我一看到時,馬上就開始測試,但 我測試了以後,發現有一個問題,是我必須先手動連線,(例如:在執行裏,鍵入\\SHARED-C\DATA),之後再用此NetDisk function,這樣才能建立網路磁碟機,否則若沒有先手動連結的話,則會出現'未定義的錯誤'. 我的系統是win2000 professial. Best Regards應該是不會, 我測試過, 只要你參數下對, 系統是會自動連結的, 要不然就失去這個function的意義, 有空我再測測你的環境! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |