Announcement

Collapse
No announcement yet.

BDE-Fehler 9475 ("zu wenig Festplattenspeicher")

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • BDE-Fehler 9475 ("zu wenig Festplattenspeicher")

    Hallo!
    Wir haben hier folgendes Problem, was nur bei Windows 98 auftritt (2000 und NT ok). Und zwar meldet die BDE: BDE-Fehler 9475 ("zu wenig Festplattenspeicher"), obwohl sehr wohl ausreichend Speicherplatz zur Verfügung steht. Aufgrund von Internet-Recherchen hat mein Kollege folgende Theorie:Statt der neuen WIN-API Funktion GetDiskFreeEx(), die auch bei mehr als 4 GB freien Festplattenplatz korrekt arbeitet, wird in der BDE 4.51, 5.0.4 und 5.1.1 offenbar noch die alte FUnktion GetDiskFree() benutzt.Meine Vermutung:
    4,0 GB freier Speicherplatz wird als 0 MB gelesen,
    4,1 GB als 100 MB etc.
    8,0 GB wieder als 0 MB=20
    8,1 GB als 100 MB etc.
    Meine Frage ist nun ob jemand Erfahrung mit diesem Problem hat und vielleicht einen eleganten Workaround anzubieten hat? Vielen Dank im voraus, Tilman

  • #2
    Hallo,

    diese Theorie kann doch sehr einfach in der Praxis verifiziert werden: Wenn mann dafür sorgt, dass etwas "Ballast" auf diese Festplattenpartition kommt und die kritische Grenze unterschritten wird, dürfte dieser Fehler nie wieder auftreten.

    Im Platform SDK (wenn ich mich richtig erinnere) ist ein Microsoft-Tool, dass bei einem Programm alle aufgerufenen Win32-API-Funktionen mitprotokolliert. Auch auf diesem Weg kann nachgeprüft werden, ob es tatsächlich an GetDiskFree liegt.

    Wenn es wirklich daran liegt, würde ich eine kleinere Festplattenpartition verwenden.
    &#10

    Comment


    • #3
      Hallo Andreas! Vielen Dank für die Antwort! Inzwischen haben wir das auch überprüft und unser Problem ist anscheinend unabhängig von der Grösse des verfügbaren Speicherplatzes, also sind wir erstmal wieder ratlos! Schöne Feiertage, alles Gute, Tilma

      Comment


      • #4
        Hallo,<br>ich habe das gleiche Problem. Hat jemand schon eine Lösung?<br>:-) Jens Schuman

        Comment


        • #5
          Hallo,
          mein Kunde hat ne 30GByte Platte und 24GByte frei. 24 mod 4 = 0 !!!
          Ich habe Ihm gesagt, er möchte eine große Datei auf die Platte kopieren. Daraufhin hat er eine 40MByte Datei auf die Platte geschoben. Und - was soll ich sagen - jetzt funktioniert wieder alles.
          Man, war das peinlich. Ich würde mich freuen, wenn es zu diesem Problem eine professionelle Lösung geben würde. <br>:-) Jens Schuman

          Comment


          • #6
            Hi

            Ich könnte mir folgendes vorstellen:
            Die Anwendung lädt die BDE, gleich danach "patcht" sie die Einsprungspunkte der Importtabellen aller BDE-DLL's die die funktion GetDiskFree() nutzen. Der Hook überprüft mit GetDiskFreeEx() die Plattengröße, sollte diese die 2Gb überschreiten gibt der Hook einfach immer 2Gb zurück.

            Gruß Hage

            Comment

            Working...
            X