Tôi gặp vấn đề với đơn đăng ký của mình. Ứng dụng lưu trữ cơ sở dữ liệu SQLite trong thư mục C:\ProgramData\ProgramName\
khi chạy lần đầu tiên. Tôi muốn kiểm tra nếu tôi xóa cơ sở dữ liệu, ứng dụng có thể tạo cơ sở dữ liệu mới không. Khi khởi động, tôi kiểm tra xem tệp có tồn tại không bằng cách sử dụng hàm FileExists(filename)
từ SysUtils. Nhưng nó trả về luôn đúng, ngay cả khi tôi đã xóa thư mục ProgramName.Xóa tệp khỏi C:/ProgramData trong Windows 7 không thực sự xóa tệp?
Nếu tôi sử dụng một thư mục khác (ví dụ% AppData%), thì tất cả đều OK.
Tôi thiếu gì ở đây? Tại sao chức năng FileExists trả về luôn đúng?
Chương trình của bạn có quyền ghi vào đó không? Khác bạn có thể nhấn shim chuyển hướng. – CodesInChaos
@CodeInChaos Shim chuyển hướng là gì? – evilone
Ok tìm thấy tệp cơ sở dữ liệu ảo của tôi quá tại thư mục% AppData% \ Local \ VirtualStore \ ProgramData \ ProgramName – evilone