In DLL:
Code: Select all
DLLOraSession := TOraSession.Create(Self);
// "ACtx" is EXEOraSession.OCISvcCtx.hOCISvcCtx
DLLOraSession.AssignSvcCtx(ACtx);
DLLOraStoredProc.Session := DLLOraSession;
Code: Select all
DLLOraStoredProc.ParamByName('INPUT_LIST_ID').DataType := ftArray;
DLLOraStoredProc.ParamByName('INPUT_LIST_ID').AsArray.OCISvcCtx := DLLOraStoredProc.Session.OCISvcCtx;
DLLOraStoredProc.ParamByName('INPUT_LIST_ID').AsArray.AllocObject('ORA_SHEMA.LIST_ID');
ODAC 9.6.20, XE5
How to solve this problem properly, to use Oracle objects in the session transmitted to DLL from EXE?