Здравствуйте, Аноним, Вы писали:
А>Добрый день, А>подскажите, как решить проблему. Имеется группа приложений, которые должны работать с БД (Oracle). Необходимо, чтобы соединение с БД создавалось в одном из них, и все остальные приложения использовали именно его для выполнения запросов к БД. Вопрос: каким образом (если вообще можно) передать ODAC connection (класс TOraSession) между приложениями, используя COM?
передавать можно например COM класс (точнее передавать ссылку), содержащий в себе нужный вам объект. Но не рекмендую так как обмен данными между процессами, да потоками одного процесса может быть "тяжелым" (COM маршалинг). Кроме того вам придется повозится с многопоточностью, что при недостатке может приводить к "странным" ошибкам и повисаниям приложений.
как вариант предложил бы реализовать одно приложение с доступом БД, другие ображаются к этому приложению за данным оформленными как нормальные классы или что-то в этом духе. то есть общим сделать не соединение с БД, а нормальный слой доступа.