Tôi có một số vấn đề bằng văn bản cho một ổ đĩa mạng được ánh xạ (P :) trong Windows 7 từ chương trình Delphi của tôi. Khi tôi thử, ví dụ: ForceDirectories('P:\test\folder')
, tôi gặp lỗi (không tìm thấy đường dẫn).Tại sao chương trình của tôi không nhận ra đường dẫn UNC được ánh xạ?
Tôi đã thử nhập đường dẫn UNC vào mã (ForceDirectories('\\computername\share\test\folder')
) và hoạt động. Tuy nhiên, ExpandUNCFileName('P:\')
dường như không hoạt động; nó trả về 'P: \'. Trên Windows XP, ExpandUNCFileName('P:\')
trả về đường dẫn UNC.
Làm cách nào để có được đường dẫn UNC trong Delphi trên Windows 7 hoặc viết thư cho ổ đĩa mạng được ánh xạ?
Khi điều tra thêm, dường như tôi thiếu một số loại khởi tạo trong Windows. Tôi có một ứng dụng khác (app2) sử dụng một TcxShellComboBox
(một thành phần DevExpress). Sau khi đã điều hướng đến P: trong combobox đó, trong app2, các cuộc gọi đến ExpandUNCFileName
hoạt động chính xác trong ứng dụng đầu tiên. Tương tự với FileExists
trên các tệp trong P :, trả về False trước khi điều hướng đến P: trong app2, trả về true sau và cho đến khi máy tính khởi động lại.
Đây có phải là cơ hội dịch vụ không? Hành vi bạn mô tả không liên quan gì đến Delphi và xảy ra vì ánh xạ ổ đĩa không được thiết lập cho quá trình. –
Xác minh rằng bạn có ký tự ổ đĩa được ánh xạ tới phần chia sẻ.Tôi đã có thể tái tạo vấn đề của bạn chỉ khi ký tự ổ đĩa không được ánh xạ (Delphi 7, 2007 XE). – crefird
Đây không phải là dịch vụ, đó là ứng dụng Biểu mẫu VCL. – MGH