Hallo,
ich verwende 3 Programme, die über
BDE auf Datenbanken zugreifen.
Ein Server, der als Dienst läuft, eine Client-Oberfläche und ein C-Programm mit einer in Delphi geschriebenen
DLL.
Das C-Programm wird vom Server mit CreateProcess gestartet.
Wenn alle drei zusammen laufen, hängt die
BDE.
Die
DLL kommt dabei als letztes, öffnet eine Tabelle, schreibt einige Sätze und schließt sie wieder. Alles ohne Fehler.
Das seltsame ist, dass das C-Programm bis zum Ende durchläuft, GetExitCodeProcess mir aber 128 zurückliefert. Beim nächsten Zugriff auf Tabellen frieren sowohl Server als auch Client ein. Genauer gesagt: TTable.open auf dem Server kehrt nicht zurück; das mit einer TQuery verbundene DBGrid wird nicht mehr gezeichnet.
In allen drei Programmen verwende ich dasselbe NetDir und jeweils ein eigenes PrivateDir. Der Client erzeugt allerdings auch LCK-Dateien im
DB-Verzeichnis!?
Das ganze läuft auf Win200 Workstation.
BDE Version 5.11. Der Benutzer hat Amdinrechte, der Dienst läuft unter System.
LOCAL SHARE steht auf true, damit ich die LCK-Dateien besser verfolgen kann. Das macht aber keinen Unterschied.
Ich hab' keine Ahnung mehr wo ich den Fehler noch suchen soll.