The orageneric8.dll library is used internally by Net8, and is not accessed directly by Direct Oracle Access. Therefore it seems like a low-level problem. Note that for multi-threaded applications where each thread has its own session, there are no special requirements for your application or for Direct Oracle Access. Assuming that your threads do not share some DOA component by mistake of course.
Could you let me know when the access violation occurs in your application? For example during logon, during query execution, when fetching records, and so on.
Could you also let me know the exact Net8 version you are using?
As a first test you could try to set TOracleSession.Preferences.UseOCI7 to True. This will cause DOA to use the old, but more robust SQL*Net 2.3 interface within Net8. You can only do this if you are not using any Net8 specific objects (BLOB's, CLOB's, BFiles, TOracleObject, TOracleReference). If it is indeed a Net8 bug, this might fix it.
------------------
Marco Kalter
Allround Automations