Fehler $2501 beim Öffnen eines Programms

Aus GEVITAS
Version vom 4. April 2018, 07:52 Uhr von Gevitas (Diskussion | Beiträge) (Lösung)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

1 Problem:

Beim Starten einer Anwendung kommt es zu den BDE-Fehlern $2501, $000F oder $210D.

Fehlermeldung $2501.jpg

Diese Fehlermeldung erscheint meistens dann, wenn man aus dem Hauptprogramm (z.B. GEVAS-Professional oder REFLEX) heraus ein anderes Programme (wie z.B.das InfoCenter) aufruft.

2 Ursache

Diese Meldung („INSUFFICIENT MEMORY FOR THIS OPERATION“) zeigt an, dass die BDEzu wenig Speicher hat.

Ein weiterer Grund für diese Meldung könnte sein, dass schon eine Instanz des Programms geladen ist. Bitte in der Windows-Taskleiste prüfen!

Im Notfall müssen Sie den Rechner neu starten, dann sollte das Problem beseitigt sein.

Hinweis
Obwohl man mit den hier angegebenen Einstellungen das Problem meist erfolgreich beheben kann, sollte man die Anwender/inner darauf aufmerksam machen, innerhalb von REFLEX bzw. GEVAS-Professional nicht zu viele Fenster gleichzeitig geöffnet zu haben! Jedes Fenster benötigt eine Kommunikation zum SQL-Server, zumal, wenn dort noch Daten in Bearbeitung sind!

  • Eine gute Möglichkeit zur erkennen, wie viele Fenster aktuell geöffnet sind, ist es, die Taskleiste des Programms einzuschalten!

3 Lösung

Eine eindeutige Lösung gibt es leider nicht, weil sich dieses Problem bzw. die Lösung auf unterschiedlichen Rechnern leider unterschiedlich verhält.

Gehen Sie über die Systemsteuerung ⇒ BDE-Administrator:

Windows Systemsteuerung BDE Administrator.jpg

Klicken Sie auf [Konfiguration] und im Baum auf System ⇒ Init:

BDE

Stellen Sie die Werte von SHAREDMEMLOCATION und SHAREDMEMSIZE so ein, wie hier gezeigt, wenn Sie mit Windows 7/8/10® arbeiten.


Dies sind die Standard-Einstellungen, die aber meist nicht funktionieren:

BDE Einstellungen Win8.png




Hinweise
  • Schließen Sie alle anderen Programme, die mit der BDE arbeiten, bevor Sie die BDE-Verwaltung öffnen!
  • Unter Windows 7/8/10® kann es vorkommen, dass sich die BDE beim Speichern der Einstellungen aufhängt (Die Einstellungen werden dann nicht gespeichert!). In diesem Fall müssen Sie den BDE-Administrator als Administrator öffnen. Klicken Sie dazu die rechte Maustaste auf der Programmdatei "BdeAdmin.exe! und wählen "Als Administrator ausführen" an.
  • Bei XP® (nicht mehr empfohlen!) ist der Wert SHAREDMEMLOCATION auf 7000 zu setzen. Ausserdem muss dann der Wert Sharedmemsize auf mindestens 8192 erhöht werden.
  • Die Werte werden in der Registry unter "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\SYSTEM\INIT" gespeichert (auf 32-Bit-System entfällt der Pfad "Wow6432Node").

4 Einige Überlegungen zu den BDE Fehlern $210D und $2051

4.1 SHAREDMEMLOCATION

Der Wert 7000 scheint ein guter Weg für Windows® XP, 7 und 8 zu sein. Allerdings hat man auch eine Windows-7-Maschine gesehen, auf der man problemlos mehrere Programme gleichzeitig öffnen konnte, bei der SHAREDMEMLOCATION gar nicht angegeben war!

4.2 SHAREDMEMSIZE

Der Parameter SHAREDMEMSIZE gibt die Adresse an, die von der BDE für gemeinsam genutzte (mehrfach geöffnete Applikationen) benutzt wird:

  • Ist SHAREDMEMSIZE zu klein angegeben, kann das zum Fehler $2501 führen.
  • Ist SHAREDMEMSIZE zu gross angegeben, kann das zum Fehler $210D führen.

Eine funktionierende Einstellung von SHAREDMEMSIZE hängt von der Konfiguration des Rechners ab!

Wenn der Fehler weiterhin auftaucht, kann man folgende Werte nacheinander versuchen:

  • 4096 mit SHAREDMEMLOCATION="0x5BDE"
  • 8192 mit SHAREDMEMLOCATION="0x6BDE"

Wenn der Fehler weiterhin auftaucht, kann man folgende SHAREDMEMLOCATION-Werte nacheinander versuchen:

  • 5BDE
  • 1000
  • 7000
  • 7F00
  • 2000
  • 3000
  • 4000

Wie gesagt, das kann auf unterschiedlichen Rechnern andere Auswirkungen haben!

5 BDE-Fehler

Eine (unvollständige) Liste der BDE-Fehler-Nummern

6 Links