Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос о загрузке библиотек 
:(
    Опции темы
Vadimman
Дата 6.5.2009, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.9.2007

Репутация: нет
Всего: нет



Всем доброго времени суток! Суть вопроса вот в чем. Существует Web- сервис,  взаимодействующий с клиентом по soap протоколу. Библиотека сервиса Serv.dll  вызывает библиотеку Funcs.dll которая вызывает еще несколько библиотек Lib1,Lib2,... libn.  эти библиотеки пользуются некоторой общей областью памяти заложенной в SharedMem.bpl. Когда эти библиотеки вызываются из Win приложения (выполняющего аналогичный функционал, что и сервис, но установленного на локальной машине)  то все хорошо - мы запустили 10 раз exe-шку у нас отвелось 10 областей в памяти, которые друг друга не видят и SharedMemory прекрасно выполняет свою функцию некого посредника между работающими библиотеками, т.к для такой SharedMemory при работе существует всего один пользователь.. В случае же сервиса все обстоит иначе - библиотека Serv.dll одна  и к ней обращается куча пользователей. И когда несколько пользователей работают одновременно то получается они работают с одной и той же областью памяти, т.е если под User1 метод из Lib1 поместил что-то в SharedMemory то user2 каким-либо другим методом из любой другой библиотеки может запросто это все затереть... Вот.. надеюсь суть проблеммы изложил не очень коряво:) А вопрос собственно вот в чем нельзя ли сделать так чтобы при каждой загрузке Funcs.dll она загружалась в отдельную область памяти и используя sharedMem.bpl  и другие библиотеки ничего бы не знала о том, что другой пользователь так же загрузил эту библиотеку и друг другу бы они не мешали...
PM MAIL   Вверх
lukash256
Дата 7.5.2009, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.7.2007
Где: Гомель/Беларусь

Репутация: нет
Всего: нет



а пусть твой сервис запускает фоновые приложения с собственной областью памяти для каждоко юзера.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.