access violation in ora805.dll when oraclesession.connected:=true

I use Oracle Forms 6i and want to attach delphi dll into it. After Oracle Forms application connected to oracle, i attach DLL. In DLL i do oraclesession.connected:=true and get

Access violation at address 67612F2D in module 'ORA805.dll'. Read of address 00000064.

How can i solve this problem?

DLL is written in Delphi 2006 with DOA 4.0.7.1
 
Do you have Multiple Oracle Homes on this PC? Of so, can you use the Oracle Home Selector to ensure that the Primary Oracle Home is your Forms 6i Home.

Errors can occur if a DLL and the host application use different Oracle Homes.
 
Originally posted by Marco Kalter:
Do you have Multiple Oracle Homes on this PC? ...
Marco , thank you for quick reply!

I have single home with old version of client. And OS is Ms Terminal Server.

With my XP and 10g client project works fine.

I have solved problem following way.

1) i kept oracle forms to be connected it's own way

2) installed oracle instant client
http://www.oracle.com/technology/tech/oci/instantclient/index.html

Also copied msvcr71.dll into c:\instantclient\

3) in my dll

Code:
oracleci.ocidll := 'c:\instantclient\oci.dll';
oracleci.dllinit;

OracleSession.LogonDatabase:='(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = MY_SERVER)(PORT = 1521))(CONNECT_DATA = (SID = ORCL)))';

...

OracleSession.Connected:=true;
Dmitry
 
Look like problem was not solved completely.

When i attach the second similar dll

i get when session.connected:=true

'The procedure entry point longjump could not be located in the dynamic link library orauts.dll'
 
'The procedure entry point longjump could not be located in the dynamic link library orauts.dll'
This is usually a PATH issue. A DLL is loaded, which loads a secondary DLL from the path, which is an older version than expected. My guess is you will find multiple orauts.dll instances on your hard disk.
 
Back
Top