What could possibly causing kOBL_ExepectedBONotFound
(exception code 524)...
Ruslan Zasukhin
sunshine at public.kherson.ua
Mon Nov 3 21:25:57 CST 2003
on 11/3/03 18:22, Srinivas Yalamarti at syalamar at fiberlink.com wrote:
Hi Srinivas,
> I have the following sequence of code that gets executed from a secondary
> thread in my application.
>
> CreateDB()
> CloseDB()
>
> OpenDB()
>
> The OpenDB() is causing a kOBL_ExepectedBONotFound (exception code 524).
> What could be possibly causing it.
>
> The same piece of code works fine when executed from main thread.
There is only one place in Valentina kernel where this error code is thrown:
------------------------
void VDK_DataBase::Create_VDK_BaseObjects( void )
{
OBL_BaseObject* pOBL_BaseObject;
VDK_BaseObject* pVDKobject;
// FBL have create internal BaseObjects and their fields,
// so we must set pointers of VDK C++ objects to the FBL objects,
// i.e link VDK wrapper to OBL kernel.
// Note: this loop is for static domain only.
// so objects created from database are coresponded to the objects
// created by C++ developer, we get them from mObjects array.
ulong Objects = mObjects.GetCount();
for( ulong i = 1; i <= Objects ; i++ )
{
VDK_BaseObject* theBaseObject = GetBaseObject( i );
const char* theName = theBaseObject->GetName();
theBaseObject->mObjectImp = mDataBaseImp->GetBaseObject(
(char*)theName );
if( theBaseObject->mObjectImp == NULL ) // object not found in
database.
throw xOBL_ExpectedBONotFound();
------------------------
This means that C++ objects DO NOT mirror objects stored in vdb disc file.
Do you have own MyDatabase class?
I think yes.
Hmm, I do not see from above your example how you can get this problem.
Again, it means that you have C++ objects DIFFERENT from stored in db.
For example you have CREATE db, then stop app. Then modify C++ classes,
And try to open old db with NEW classes.
--
Best regards,
Ruslan Zasukhin [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com
To subscribe to the Valentina mail list go to:
http://lists.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------
More information about the Valentina
mailing list