Hi!
Enveronment:
Server: 9.2.0.5.0
Client: 9.2.0.5.0
DOA: 4.0.7.1
Application consist of main proggram (exe) and plugins (dll).
Main programm has interface with method for access to main session (TOracleSession) and session pool (TOracleSessionPool).
On initialization, plugin access to main session and pool.
if Supports(HostApplication.MainForm, IOraSess, SessFrm) then
begin
fSess := SessFrm.Session;
fSessPool := SessFrm.SessionPool;
end;
Plugin (dll) has MDIChild form with TOracleSession component.
On initialization this form:
frm1.Sess.Pool := fSessPool;
frm1.Sess.LogOn;
this work
And, this plugin (dll) has other MDIChild form with TOracleSession component.
On initialization this form:
frm2.Sess.Pool := fSessPool;
frm2.Sess.LogOn;
If at first open session in frm1, then close this session and open session in frm2 in this case no exceptions. (in second case uses session from pool, not create new session)
If at first open session in frm2, I have exception: Access violation at 00000000.
This exception occurred in TOracleSessionPool.CreateOCISession
at
OCICall(OCIAttrSet(authinfop, OCI_HTYPE_AUTHINFO,
PChar(ASession.LogonUsername), Length(ASession.LogonUsername),
OCI_ATTR_USERNAME, errhp));
TOracleSessionPool:
Homogeneous: True
StatmentCache: True/False
PoolType: ptOracle
Min: 1 (for main session)
Max: 50
all TOracleSession:
Pooling: spInternal
StatmentCache: True/False
What reason of tish exception?
Thanks!
Enveronment:
Server: 9.2.0.5.0
Client: 9.2.0.5.0
DOA: 4.0.7.1
Application consist of main proggram (exe) and plugins (dll).
Main programm has interface with method for access to main session (TOracleSession) and session pool (TOracleSessionPool).
On initialization, plugin access to main session and pool.
if Supports(HostApplication.MainForm, IOraSess, SessFrm) then
begin
fSess := SessFrm.Session;
fSessPool := SessFrm.SessionPool;
end;
Plugin (dll) has MDIChild form with TOracleSession component.
On initialization this form:
frm1.Sess.Pool := fSessPool;
frm1.Sess.LogOn;
this work
And, this plugin (dll) has other MDIChild form with TOracleSession component.
On initialization this form:
frm2.Sess.Pool := fSessPool;
frm2.Sess.LogOn;
If at first open session in frm1, then close this session and open session in frm2 in this case no exceptions. (in second case uses session from pool, not create new session)
If at first open session in frm2, I have exception: Access violation at 00000000.
This exception occurred in TOracleSessionPool.CreateOCISession
at
OCICall(OCIAttrSet(authinfop, OCI_HTYPE_AUTHINFO,
PChar(ASession.LogonUsername), Length(ASession.LogonUsername),
OCI_ATTR_USERNAME, errhp));
TOracleSessionPool:
Homogeneous: True
StatmentCache: True/False
PoolType: ptOracle
Min: 1 (for main session)
Max: 50
all TOracleSession:
Pooling: spInternal
StatmentCache: True/False
What reason of tish exception?
Thanks!