Ho alcuni problemi nella scrittura su un'unità di rete mappata (P :) in Windows 7 dal mio programma Delphi. Quando provo, ad esempio, ForceDirectories('P:\test\folder')
, ottengo un errore (percorso non trovato).Perché il mio programma non riconosce i percorsi UNC mappati?
ho provato a digitare nel percorso UNC nel codice (ForceDirectories('\\computername\share\test\folder')
) e che funziona. Tuttavia, ExpandUNCFileName('P:\')
non sembra funzionare; restituisce 'P: \'. Su Windows XP, ExpandUNCFileName('P:\')
restituisce il percorso UNC.
Come si ottiene il percorso UNC in Delphi su Windows 7 o altrimenti si scrive su un'unità di rete mappata?
Con ulteriori indagini, è come se mi manca un qualche tipo di inizializzazione in Windows. Ho un'altra applicazione (app2) che utilizza uno TcxShellComboBox
(un componente DevExpress). Dopo aver navigato in P: in questa combobox, in app2, le chiamate a ExpandUNCFileName
funzionano correttamente nella prima applicazione. Lo stesso con FileExists
su file in P:, restituisce False prima di passare a P: in app2, restituisce true dopo e fino al riavvio del computer.
È questo, per caso, un servizio? Il comportamento che descrivi non ha nulla a che fare con Delphi e si verifica perché la mappatura dell'unità non è configurata per il processo. –
Verificare di avere la lettera dell'unità mappata alla condivisione.Sono stato in grado di riprodurre il problema solo se la lettera dell'unità non è stata mappata (Delphi 7, 2007 XE). – crefird
Non è un servizio, è un'applicazione per moduli VCL. – MGH