Delphi SelectDirectory与networking驱动器的奇怪行为

我有一个客户的错误报告。 我的程序使用Delphi的select目录function,允许他select程序使用的几个目录,允许它们在networking驱动器上。 以下是错误报告的相关摘录:

试图更改目录时,networking驱动器未显示在对话框中。 在浏览菜单中打开“计算机”时,只显示本地驱动器。 迂回的解决scheme是打开对话框,断开networking驱动器,然后重新连接networking驱动器。 然后它出现在对话框中。 更改下一个文件夹位置时,必须重新进行。 我发现主要技术人员经常这样做,因为它似乎重置。

起初,我以为这一定是Windows没有拿起目录,所以我让他检查两台计算机(客户端和networking驱动器)的networking位置设置为工作,检查驱动器是映射到客户端,检查networking发现是否已打开,并检查是否可以在资源pipe理器中看到驱动器确定。 他做了,但是这个错误依然存在。

我还没有在谷歌或QC报告中提到这件事,SelectDirExtOpts的文档似乎暗示networking驱动器应该“正常工作”。

所以我的问题是:有没有人遇到过类似的东西? 是否可能是Windows问题,还是Delphi?

非常感谢。

只要你包含该sdShowShares标志,它应该确实工作。

如果你看一下SelectDirectory函数的源代码,你会发现它并不仅仅是为SHBrowseForFolder设置和读取结果。

SHBrowseForFolder是一个Windows Shell API函数:

 function SHBrowseForFolder; external shell32 name 'SHBrowseForFolderW'; 

德尔福必须正确解释它从SHBrowseForFolder返回的结果,因为驱动器重新连接后正确显示。 所以我会说这是客户端机器上的Windows问题。