parallel running EXE and DLL: initialisation error ($2501)


2007-07-30 08:02:12 PM
off-topic1
The second call of a DLL function will cause the error
'An error occurred while attempting to initialize the
Borland Database engine (error $2501)' when there is
another exefile with bde access running on the same
machine.
Detail:
I've myapp1.exe running on a windows xp system. This application
access' Paradox tables via BDE.
I've myDLL.dll which will be used by winword to do some DMS
functionality.
I start winword.exe which calls the function myBDEFunc in
myDLL.dll. The myBDEFunc call the AddPassword-Function of TSession.
The first time winword call the function all things work fine.
After a while (the myDLL.dll is not in the memory, winword has to
start a new instance)winword call the function again and
the error message (above) appears.
If the myapp1.exe is not running, the problem will not occur.
The exception raise when the function in the DLL is trying
to call Session.AddPassword.
What I've already tried:
Setting all possible combinations of MEMSIZE, SHAREDMEMSIZE and
SHAREDMEMLOCATION without any success.
Thanks for all hints
Linton K