2012-11-15 56 views
2

我有一個來自客戶端的錯誤報告。我的程序使用Delphi的選擇目錄功能,允許他選擇程序使用的幾個目錄,這些目錄允許在網絡驅動器上。以下是錯誤報告中的相關摘錄:Delphi SelectDirectory網絡驅動器的奇怪行爲

當試圖更改目錄時,網絡驅動器未顯示在對話框中。在瀏覽菜單中打開「計算機」時,只顯示本地驅動器。迂迴的解決方案是打開對話框,斷開網絡驅動器,然後重新連接網絡驅動器。然後它出現在對話框中。更改下一個文件夾位置時,必須重新進行。我發現主要技術人員經常這樣做,因爲它似乎重置。

起初我以爲,這必須是Windows不拾取目錄,所以我讓他檢查兩臺計算機上的網絡位置(客戶端和一個與網絡驅動器)設置爲工作,檢查驅動器是否映射到客戶端,檢查網絡發現是否已打開,並檢查他是否可以在資源管理器中看到驅動器確定。他做到了,但錯誤依然存在。

我還沒有出現任何關於谷歌或QC報告的消息,SelectDirExtOpts的documentation似乎表明網絡驅動器應該「正常工作」。

所以我的問題:有沒有人遇到過類似的東西?它可能是Windows問題,還是Delphi?

非常感謝。

回答

4

只要你包含sdShowShares標誌,它應該確實是正常工作。

如果你看看SelectDirectory函數的來源,你會發現它並不比設置SHBrowseForFolder和閱讀結果多得多。

SHBrowseForFolder是一個Windows外殼API函數:

function SHBrowseForFolder; external shell32 name 'SHBrowseForFolderW'; 

德爾福必須解釋它從SHBrowseForFolder回正確的結果,因爲驅動器被重新連接後正確顯示。所以我會說這是客戶端機器上的Windows問題。

+0

謝謝:)非常感謝。 –