Как использовать 32-битный COM-объект из 64-битного процесса?

Я использую Jacob (JAVA COM Bridge) на 64-битной машине и хочу загрузить COM-объекты из 32-битной DLL. Как я могу это сделать?

11.12.2008 15:50:45
2 ОТВЕТА

Вам нужно будет разместить 32-битный COM-объект в 32-битном процессе. Таким образом, либо все ваше приложение должно будет работать на 32 бита, либо вам нужно будет поместить объект COM во что-то вроде COM + и использовать межпроцессные вызовы.

1
11.12.2008 15:56:30
РЕШЕНИЕ

Я решил проблему следующим образом: создал небольшой 32-битный внепроцессный COM-сервер (.exe), который служит заводским COM-объектом для создания необходимых 32-битных объектов. Так что теперь мое приложение работает на 64-битных и использует 32-битные COM-объекты.

My64bitApp <-> 32BitOutOfProcFactory <-> 32bitCOMServerDLL

0
30.03.2009 10:42:26
Почему именно вы не создали приложение COM + вместо этого?
sharptooth 30.03.2009 10:50:40
Я думаю, что я не был уверен, как это сделать с хост-процессом, являющимся Java VM, также я не имею никакого контроля над 32-битной DLL-библиотекой COM-сервера, ее сторонней библиотекой.
Hannes de Jager 23.04.2009 08:36:48