Watch, Follow, &
Connect with Us

Please visit our new home

Public Report
Report From: EDN/Member services    [ Add a report in this area ]  
Report #:  136449   Status: Reported
Delphi XE8 64 bit
Project:  EDN Build #:  22.0.19908.869
Version:    2 Submitted By:   Dan Jennings
Report Type:  Basic functionality failure Date Reported:  4/5/2016 10:54:11 AM
Severity:    Serious / Highly visible problem Last Updated: 4/5/2016 10:59:11 AM
Platform:    64 Bit Internal Tracking #:  
Resolution: None  Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Please forward this to the correct people, if it is not in the correct section.

We have recently started using XE8, as we have used XE2 for several years now.  All of our business applications have been 32 bit.  We are now building all of our applications in 64 bit.

Our applications connect to a Oracle 12 database.  We are having an issue now when trying to create a Parameter for an Oracle query.

Example:  TestQuery.ParamByName('name').AsString

We found that a DeclareVariable routine is throwing an access violation $C0000005 when allocating a String parameter  (GetMem)

In the Project file of our application, we have MidasLib declared.  The only way our application will work is to use Midas.

In our testing between the two, this is what we found:
XE8 32-bit app with MidasLib works
XE8 64-bit app with MidasLib throws exception
XE8 64-bit app with Midas works
Exception happens in GetMem (SysGetMem)

Something is different between the Midas.dll and the MidasLib.pas.  Is there an update or a fix for this?

Please let me know.
Steps to Reproduce:
- Create an application that connects to a Oracle Database
- Add a OracleQuery
- Any sql query will work
- Make sure you have a Parameter that is a string
  (ie.  ParamByName('test').AsString)
- First use MidasLib in the project.
  Access violation $C0000005 will happen at the line using the ParamByName
- Switch to Midas in the project
- The Parameter will get created, and the query will now work
Use Midas instead of MidasLib.


Server Response from: ETNACODE01