2015-04-08 2 views
0

Я делаю первый набег в UNO и после неудачной попытки (проблемы с загрузкой) я вернулся к основам и я пытаюсь следовать начинающему руководствоunowinreg.dll: невозможно загрузить 32-битную DLL на 64-разрядную платформу amd

https://wiki.openoffice.org/wiki/Documentation/DevGuide/FirstSteps/First_Contact#AntBuildScript

Я бегу Java на затмение Windows 7 64 бит. Я изменил build.xml для Windows (и Office 4), и хотя я не эксперт, я думаю, что я сделал это успешно - приложение строит и пытается запустить.

Первоначально я получил ошибку -

Exception in thread "main" java.lang.UnsatisfiedLinkError: no unowinreg in java.library.path

Я скопированный unowinreg.dll из SDK в папку system32 и теперь я получаю эту ошибку

unowinreg.dll: can't load ia 32-bit .dll on a amd 64-bit platform

Я не могу найти что-либо по этому поводу ошибка с 2012 года, но я предполагаю, что должен быть способ запускать uno api на windows 64? Загруженный sdk - это 4.1.1, поэтому он является текущим. Использую ли я старый подход и нужно попробовать что-то другое или?!

Спасибо.

+0

http://forum.lwjgl.org/index.php?topic=3585.0 –

+0

Спасибо за это. Вы использовали это? Я просто задавался вопросом, будет ли это работать, поскольку unowinreg.dll - это 32-битная dll, и это, кажется, проблема (так ли это, в конце концов, это откроет 32 бита?). Другой вопрос, вероятно, глупый, означает ли это, что мне нужно будет найти uno jar, который загружает dll, добавляет этот код и восстанавливает банку (как я сам не звоню в dll)? gulp ... – gringogordo

+0

На самом деле я пропустил сообщение, которое я нашел позже, которое ответило бы на мой вопрос. https://forum.openoffice.org/en/forum/viewtopic.php?f=44&t=75056it. Я понимаю, что для более продвинутых программистов с большими требованиями, чем у меня, вышеупомянутое, вероятно, очень полезно, но для меня и моего довольно небольшого требования я думаю, что это просто означает - найти другой инструмент (я видел, что отчеты Джаспера упоминались несколько раз в этом контекст). Как немного мягкий, я довольно удивлен, что нет 64-битной версии, но, видя, что я не собираюсь тратить свое время, пытаясь закодировать ее, я думаю, я не могу жаловаться! – gringogordo

ответ

1

Только для справки для кого-либо еще (не стесняйтесь исправить это, если это неправильно).

OpenOffice/UNO - 32 бит, и нет простого способа использовать его в Java-приложениях, разработанных и запущенных на 64-разрядной Windows (начиная с OO 4.1.1). Оглядываясь, кажется, есть способ загрузки DLL (например, см. Комментарий Jordi forum.lwjgl.org/index.php?topic=3585.0), но это выглядит слишком сложно для моего нынешнего уровня понимания, и я подозреваю, что это требует некоторых довольно продвинутые знания (снова исправьте меня, если я ошибаюсь).

В конце концов я вернулся к использованию Jasper (студия Jaspersoft). Это позволяет сохранять в формате odt.

Это не очень умный ответ, но я надеюсь, что это сэкономит кому-то, поскольку я не нашел ясным из своих первоначальных поисков, что использование открытого офиса в приложении java на 64, но окна будут основной частью работы ,