Re[2]: Использование одной dll в разных процессах.
От: maxgora  
Дата: 10.11.11 15:34
Оценка:
R>Расскажите плз подробнее, какая бизнес задача решается.

Dll реализует доступ к устройству ч/з COM порт (реальный или виртуальный) по протоколу modbus. Возможны варианты: работа с одним/несколькими устройствами ч/з мост bluetooth/usb, работа с несколькими ус-вами ч/з один (у-ва на шине RS485) или несколько портов. Предусмотрено переподключение (на случай работы ч/з bluetooth). Все работает в случае, если приложение — один процесс.
Возникла проблема по след. причине. Для адаптации работы со старым ПО, написана "обертка", позволяющая использовать часть функционала dll. Запускается старое ПО, все работает. Но еще хочется иметь возможность менять кое-какие параметры (расширенный функционал), не прерывая работу основной программы.

Реализация доступа к порту следующая. В классе объявлен статический ArrayList, содержащий список используемых портов. В конструкторе список проверяется и, если порт уже подключен — работаю ч/з него (разделение доступа), если нет — новое подключение. В случае обращения к конструктору из разных процессов разделение доступа не происходит, т.к. конструктор каждый раз пытается создать новое подключение.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.