Thema: Delphi Paradox 7 INMEMM000.REM

Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: Paradox 7 INMEMM000.REM

  Alt 23. Okt 2003, 09:48
Meine Vermutung für diesen Fehler ist folgende (diese basiert auf mehreren Programmen, welche gleiches Verhalten zeigen):

Der Treiber ist etwas älter und nutzt eine normale DWORD Variable zur Verwaltung des Festplattenspeichers. Daraus ergibt sich, das die Festplatte maximal 4GB groß sein darf. Ist diese größer, läuft die Variable über und der Treiber zählt von vorne los. Mit gerundeten Zahlen als Beispiel:

Code:
FreierSpeicher: DWORD;
FreierSpeicher kann maximal 2^32 Bytes verwalten. Sagen wir mal rund 4.000.000.000 Bytes

Die Festplatte hat 1.005.644.863 freien Speicher, also kann die Variable FreierSpeicher diesen fassen. So, jetzt wird ganz viel Speicher frei und auf der Festplatte sind jetzt 3.999.999.999 Bytes frei. Das passt auch noch in die Variable FreierSpeicher. Jetzt löschen wir noch eine kleine Datei und auf der Festplatte sind jetzt 4.000.120.503 Bytes frei. Wenn dieser Wert in FreierSpeicher geladen wird, "läuft diese Variable" über und darin ist gespeichert, daß nur noch 120.503 Bytes frei sind. Festplatte ist voll.

Überprüfen dieser Theorie

Bevor Du speicherst, schiebe mal eine sehr große Datei auf die Festplatte (oder kopiere eine), sagen wir mal, 50 Megabyte und versuche noch einmal zu speichern. Wenn Dein Programm jetzt nicht mehr meckert, dann ist dieses die Ursache für Dein Problem. Ein Treiber-Update wird fällig

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat