Thank you Stefano. OK, guess I'll be looking for a wrapper, making one, or recompiling SQLite3.
The 'data\sqlite' package, though, might need to be updated to accommodate. Martin Pelletier On 2010-08-04 10:18, Stefano Lanzavecchia wrote: > While I don't trust everything that I find on CodeProject: > http://www.codeproject.com/KB/system/64BitOSAndPortingIssues.aspx > From which I quote: > ========================================================================= > Why 64-bit apps cannot load 32-bit Dll's& 32-bit apps load 64-bit Dll's > > I mentioned earlier that 32-bit processes can't load 64-bit DLLs and 64-bit > processes can't load 32-bit DLLs. You might be wondering why. By default, > 64-bit applications can use 8 TB of user mode address space. You have the > option to specify that all memory below 2 GB be allocated to the application. > Because 32-bit DLL can't address memory space above 2GB, the thunk layer > would have to copy all data into the low 2GB of the 64-bit application. > Obviously, this won't work if the 64-bit application tries to pass a pointer > to data that is larger than 2GB. > > Also 32-bit DLLs use x86 style exception handling and 4K pages. On an IA-64 > processor, the native page size is 8K and the WOW64 emulator is responsible > for simulating 4K pages. Because on an x86 machine exceptions do not "unwind" > from user mode to kernel mode and back, WOW64 implements x86-style exception > without switching from x86 code to IA-64 and back. > > Finally, another reason why 64-bit and 32-bit processes can't load each > other's DLLs is that system DLLs (kernel32.dll, user32.dll, and gdi32.dll) > expect only one instance per process, 32-bit or 64-bit. If a process > contained more than one instance of, say user32.dll, Win32k.sys will not be > able to distinguish between them and wouldn't know which one to call. > > So a 64-bit application must have all the Dll that are 64-bit. > ========================================================================= > It's not so much J's fault but Windows'. > What some programs do is to run a 32 bit process which acts as a bridge. The > aspects of the bridging are completely custom, though. > > >> -----Original Message----- >> From: [email protected] [mailto:programming- >> [email protected]] On Behalf Of Martin Pelletier >> Sent: Wednesday, August 04, 2010 4:15 PM >> To: Programming forum >> Subject: Re: [Jprogramming] SQLite3 and J602a 64bits >> >> My attempt: no >> 'Data\sqlite' package: ??? >> >> Do you mean that J6 64 bit cannot call a 32 bit dll? Really? >> >> Martin Pelletier >> >> On 2010-08-04 10:08, bill lam wrote: >> >>> Is that dll also 64-bit? >>> >>> Срд, 04 Авг 2010, Martin Pelletier писал(а): >>> >>> >>> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
