Thema: Delphi Aktualisierung erzwingen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

Re: Aktualisierung erzwingen

  Alt 15. Jan 2009, 13:56
wenn du am Dateisystemtreiber vorbei die Daten änderst, dann kann ja nichts gutes bei rauskommen.
der Windowstreiber kopiert beim Lesen die Daten in seine Cache und ließt dann dort aus ... drum die unveränderten Daten.

Vorschlag: das Laufwerk dismounten und neu mounten (beim Dismounten sollte die Cache freigegeben werden)

Delphi-Quellcode:
hDrive: THandle;
W: LongWord;

hDrive := CreateFile('\\.\X:', GENERIC_READ or GENERIC_WRITE,
  FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
if hDrive <> INVALID_HANDLE_VALUE then begin
  DeviceIoControl(hDrive, FSCTL_DISMOUNT_VOLUME { $00090020 },
    nil, 0, nil, 0, W, nil);
  CloseHandle(hDrive);
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat