Page 1 of 1

Access Violation in dbxora.dll when DEP is turned on...

Posted: Wed 13 Apr 2005 15:36
by bbts
If you have Windows XPSP2, or Windows 2003 SP1, and have Data Execution Prevention (DEP) turned on for All Programs, you'll get an Access Violation after your app loads dbxora.dll.

I reproduced this on a couple of machines, both Windows2003SP1 and XPSP2. After narrowing it down to the dbxoda.dll, I tried recompiling the dbxoda.dll from the source using the make.bat in C:\Program Files\CoreLab\DbxOda\Source\Delphi7\

After I recompiled it, using Delphi 7 Update 1, the Access Violation no longer occurs. I'm guessing that whatever version of Delphi that compiles the precompiled dbxora.dll has a DEP related issue. What version of Delphi is used to compile it?

NOTE: DEP for All Programs is the Default after installing Windows 2003 SP1, so this is a big issue. On XPSP2, the default DEP setting is just to check Microsoft's files, so it's less of an issue.

Posted: Wed 13 Apr 2005 19:42
by Zdenek Vasku
I think the problem is in dll compression. Precompiled DLL is shipped with compression (about 300 kB). If you compile the dll yourself it's about 500 kB.

Zdenek

Posted: Thu 14 Apr 2005 08:53
by Paul
Yes, it is possible. We plan to test DbxOda with Windows 2003 Server, SP1
in the nearest time.
We build dbexpoda.dll with Delphi 6.0 (build 6.240) Update Pack 2. You can
build it with any version of Delphi 6, 7, 9.

Any resolution on this item?

Posted: Wed 08 Feb 2006 22:17
by michael.johnson
I too recently hit this problem with the DEP flag and I can cofirm by testing it in VMWARE GSX with Windows 2003 SP1 and Windows XP SP2 and Data Execution Prevention (DEP) turned on.

It seems that this is still a problem in the recently release dbexpress MSSQL driver as well. perhaps there is a way to get a compressed and uncompressed version of the .dlls so the developer can choose which to use and deploy.

Posted: Thu 09 Feb 2006 07:36
by Paul
Please write a letter to DbxOda and DbxMda support addresses. Please specify your license number.