|
|
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Смотрю как в java создавать COM-объекты, и наткнулся на библиотеку Com4j. Нашёл пример в сети http://parshinpn.pro/content/primer-ispolzovaniya-biblioteki-com4j . Попытался его сделать, но он у меня не работает. Выдаётся эксепшн (скопировал то, что было в консоли ИДЕИ): Введите текст: тест Exception in thread "main" com4j.ExecutionException: com4j.ComException: 80040154 CoCreateInstance failed : Класс не зарегистрирован : .\com4j.cpp:153 at com4j.ComThread.execute(ComThread.java:203) at com4j.Task.execute(Task.java:25) at com4j.COM4J.createInstance(COM4J.java:97) at com4j.COM4J.createInstance(COM4J.java:72) at org.limantrade.voc.ClassFactory.createDictionary(ClassFactory.java:16) at org.limantrade.Com4j_integrate.initLibrary(Com4j_integrate.java:39) at org.limantrade.Com4j_integrate.main(Com4j_integrate.java:169) Caused by: com4j.ComException: 80040154 CoCreateInstance failed : Класс не зарегистрирован : .\com4j.cpp:153 at com4j.Native.createInstance(Native Method) at com4j.COM4J$CreateInstanceTask.call(COM4J.java:117) at com4j.COM4J$CreateInstanceTask.call(COM4J.java:104) at com4j.Task.invoke(Task.java:51) at com4j.ComThread.run0(ComThread.java:153) at com4j.ComThread.run(ComThread.java:134) Process finished with exit code 1 Все шаги выполнил, ошибок на них не выдавало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 14:41 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Usman, Так я же написал: все шаги выполнил, в том числе и регистрация нужны dll. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 14:58 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
MaxLichUsman, Так я же написал: все шаги выполнил, в том числе и регистрация нужны dll. значит ещё ищи рабочий пример. Не с твоей dll, а именно с той dll-com что в примере. - Можно COM IE\Excell\Word для примера взять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 16:55 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Petro123, То есть вы предполагаете, что ошибки в dll или в примере? Не уверен, но мне кажется, что я что-то не то сделал, или наоборот - не сделал то, что нужно было сделать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 17:32 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
MaxLichчто я что-то не то сделалтелепаты в отпуске, хрустальные шары не фурычат... короче, исходники в студию (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 17:43 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
MaxLichВсе шаги выполнил, ошибок на них не выдавало.В руководстве, которое вы использовали есть стандартный косяк: первая регистрация делается "с повышением привилегий", а не "Win+R". P.S. "С повышением привилегий" это "Запуск от имени администратора" для "Командная строка" и уже в этой консоли regsvr32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 19:05 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Usman, Так что там выкладывать. Половина кода сгенерировалось само, половина кода было дано в примере (и я его просто скопировал). Все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 19:06 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Попробовал опять зарегистрировать, уже с правами администратора (не помню, как раньше то делал), и не помогло, к сожалению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 20:48 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
На другом форуме спросили про разрядности ос, джавы и длл. У меня они отличаются. Это может быть причиной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 20:50 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
MaxLichНа другом форуме спросили про разрядности ос, джавы и длл. У меня они отличаются. Это может быть причиной?Вполне. Попробуйте поставить 32-битную JDK, перенастройте и перезапустите IDE. Разрядность ОС может быть любой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 21:22 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Usman, Ааа, вот оно что (я про разряздность ОС). А то я уже поставил виртуалку 32-битную по этому поводу. Хорошо, попробую всякое. Спасибо за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 18:10 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
MaxLich, Попробовал на 32-разрядной винде с 32-разрядной JVM - всё отработало без ошибок. Значит, в этом было дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 21:38 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
MaxLich, Странно. Вроде все знают, что на Ось 32 надо ставить 32 а не 64. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 22:40 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Речь о другом - разрядность JVM обязана совпадать с разрядностью JNI модулей. Если 64-разрядная винда, то 32-разрядные dll-ки требуют 32-разрядной JVM. А по-умолчанию будет 64-разрядная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 04:30 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, А как это практически? - установил винду 64. Дальше? Я с сйта оракла брал jdk 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 08:11 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Petro123А как это практически? - установил винду 64. Дальше?Дальше грузим и ставим 32-разрядную (i586). Выбираем нужное настройками среды разработки/запуска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 10:27 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Petro123, так у меня 64-битная винда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 12:08 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovРечь о другом - разрядность JVM обязана совпадать с разрядностью JNI модулей. Если 64-разрядная винда, то 32-разрядные dll-ки требуют 32-разрядной JVM. А по-умолчанию будет 64-разрядная. Что-то не работает на 64-битной винде, если джава машина - 32-битная. Так значит, винда тоже влияет? Может 32-битные dll не регистрируются в 64-битной системе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 12:10 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Всё 32-битное нормально регистрируется в 64-разрядной винде. Там даже есть специальная "виртуализация", чтобы "подставлять" 32-разрядным приложениям "нужные каталоги". Ошибка-то какая? Ну и хотелось бы, чтобы опции запуска включали -showversion, чтобы не гадать о разрядности JVM по трассировке стека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 13:21 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
MaxLichТак значит, винда тоже влияет?Для Java-приложения платформой считается JVM (а не ОС). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 14:05 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВсё 32-битное нормально регистрируется в 64-разрядной винде. Точно так тогда должно работать и с приложениями под java - Java HotSpot 64-bit Server VM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 14:15 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Petro123Точно так тогда должно работать и с приложениями под java - Java HotSpot 64-bit Server VM.Это невозможно технически: нельзя грузить 32-разрядные библиотеки в пространство 64-разрядного процесса. И наоборот - тоже нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 15:23 |
|
||
|
Эксепшн при работе с Com4j
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Что-то не очень понял. То Вы говорите: авторВсё 32-битное нормально регистрируется в 64-разрядной винде. Там даже есть специальная "виртуализация", чтобы "подставлять" 32-разрядным приложениям "нужные каталоги". то: авторЭто невозможно технически: нельзя грузить 32-разрядные библиотеки в пространство 64-разрядного процесса. И наоборот - тоже нельзя. UsmanMaxLichТак значит, винда тоже влияет?Для Java-приложения платформой считается JVM (а не ОС). Причём тут JVM, если dll регистрируется в винде. авторОшибка-то какая? Ну и хотелось бы, чтобы опции запуска включали -showversion, чтобы не гадать о разрядности JVM по трассировке стека. Так 32-битная. Сам ставил, сам выбирал в настройках IDEA. А ошибка - та же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 09:34 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=56&tid=2122460]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 399ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...