Fehler $2501 beim Öffnen eines Programms
Inhaltsverzeichnis
1 Problem:
Beim Starten einer Anwendung kommt es zu den BDE-Fehlern $2501, $000F oder $210D.
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:
Klicken Sie auf [Konfiguration]
und im Baum auf System ⇒ Init
:
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:
- 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