![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I am using <BerkeleyDb For Net 0.95>, version 4.5. It runs well under 32bit Windows. I also download BerkeleyDB 4.5 version C codes and compile by Microsoft visual studio 2005 and change the target platform X64, then libdb45.dll 64bit file of 1100k. The libdb45.dll file of 32bit is 840k. Now, I want to set up C# project by using BerkeleyDb on 64bit window2003. When I use 32bit libdb45.dll, the system gives a warning: Exception from HRESULT: OX8007000B. This is normal. But when I use 64bit libdb45.dll, the system says "try to access the protected memeory. I follow up it and found: using(DB db=new Db(DbCreateFlags.None)). After following into this function, it is evp=db.GetEvp(); of SetOwnerDatabase function of Env object. Following it, it goes to dbp->GetEnv(dbp); At last it goes to "return(GetEnvFcn)Marshal.GetdelegateForFunctionPo inter(get_env, typeof(GetEnvFcn));. Is it a problem from Net components or com components? Does the pointer point to the wrong memory? Is there someone who can help me? Thanks! |
![]() |
| Thread Tools | |
| Display Modes | |
| |