[odb-users] Question on Using ODB within a DLL
Szumowski, Thomas
thomas.szumowski at lmco.com
Thu Jun 23 19:39:11 EDT 2011
I am interested in creating an DLL. Within that DLL I'd like to create a database and make ODB transactions. I have code that operates perfectly when it is an executable, but when I turn it into a DLL and call from an external program, I get ODB related errors.
Specifically,
The dialog error indicates a null pointer:
Unhandled exception at 0x0039fa4a (odb-d-1.4-vc10.dll) in dbtest.exe
0xC0000005: Access violation reading location 0x00000000.
When I trace through the code, the error occurs during the create_database call (where argc and argv are valid and passed through to the DLL as function prototypes):
auto_ptr<database> db (create_database(argc, argv));
And the null pointer exception occurs in the return line of transaction::current() in transaction.cxx:
bool transaction::
has_current ()
{
return tls_get (current_transaction) != 0;
}
First, is it possible to access the ODB library from a developed DLL?
Second, if so, are there specifics in the setup, or any suggestions as to why this null pointer exception may be occurring in a DLL but not as an EXE?
Thank you again.
More information about the odb-users
mailing list