Delphi プログラムから Windows 7 のマップされたネットワーク ドライブ (P:) への書き込みに問題があります。たとえば、 を試してみると、ForceDirectories('P:\test\folder')
エラーが発生します (パスが見つかりません)。
コード ( ) に UNC パスを入力してみましたが、ForceDirectories('\\computername\share\test\folder')
うまくいきました。ただし、ExpandUNCFileName('P:\')
動作しないようです。'P:\' を返します。Windows XP ではExpandUNCFileName('P:\')
、UNC パスを返します。
Windows 7 の Delphi で UNC パスを取得する方法、またはマップされたネットワーク ドライブに書き込む方法を教えてください。
さらに調査すると、Windows である種の初期化が欠落しているようです。(DevExpress コンポーネント) を使用する別のアプリケーション (app2) がありますTcxShellComboBox
。そのコンボボックスの P: に移動した後、app2ExpandUNCFileName
で、最初のアプリケーションで正しく動作するように呼び出します。P: の下のファイルと同じでFileExists
、app2 の P: に移動する前に False を返し、コンピューターの再起動後および再起動するまで true を返します。