FreePascal и OpenOffice
Модератор: Модераторы
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
FreePascal и OpenOffice
OpenOffice - проект, пытающийся конкурировать с Microsoft Office. Преимущества:
- открытые исходники
- кросс-платформенность
Недостатки ровно те же :D
Предлагается обсуждать в этой ветке все, что касается взаимодействия FreePascal и OpenOffice.
Родина OpenOffice: http://www.openoffice.org .
OpenOffice по-русски: http://www.i-rs.ru.
Средство взаимодействия (мост между) Delphi, Kylix и FreePascal, с одной стороны, и OpenOffice, с другой: http://sourceforge.net/projects/uno-pas-bridge/.
- открытые исходники
- кросс-платформенность
Недостатки ровно те же :D
Предлагается обсуждать в этой ветке все, что касается взаимодействия FreePascal и OpenOffice.
Родина OpenOffice: http://www.openoffice.org .
OpenOffice по-русски: http://www.i-rs.ru.
Средство взаимодействия (мост между) Delphi, Kylix и FreePascal, с одной стороны, и OpenOffice, с другой: http://sourceforge.net/projects/uno-pas-bridge/.
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
Пробую пересобрать uno-pas-bridge фри-паскалем - ругается на вызов метода для переменной типа Variant.
Последний релиз FreePascal такого и впрямь не умеет, пользуйтесь снапшотами (ftp://ftp.freepascal.org/pub/fpc/snapshot/v21 либо ftp://ftp.freepascal.org/pub/fpc/snapshot/v23).
Адрес CrossKylix лежит в "документации" на мост. Там же, кстати, написано про текущие ограничения FreePascal.
Вот и я к вам в ветку перешел
Выложил новый пре-релиз. Описание (http://uno-pas-bridge.sourceforge.net/pre-release.php)
ну оочень много чего поправлено
Выложил новый пре-релиз. Описание (http://uno-pas-bridge.sourceforge.net/pre-release.php)
ну оочень много чего поправлено
-
Андрей В. Гусев
- незнакомец
- Сообщения: 2
- Зарегистрирован: 18.10.2007 19:18:00
- Откуда: г.Ступино Московская обл.
Я нынче в трекере проекта http://sourceforge.net/projects/uno-pas-bridge/ зарегистрировал три пожелания. Но так, как активность вижу тут, а не там - продублирую ссылку и снабжаю просьбой посмотреть: http://sourceforge.net/tracker/?group_i ... tid=895260
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
Тута я. Активности с нашей стороны нет, т.к. нет активности с обратной стороны.
Третью претензию не понял. Динамическую линковку сделать можно.
Кстати, были какие-то апдейты, доступные с web-страницы проекта на SF. Посмотрите.
Третью претензию не понял. Динамическую линковку сделать можно.
Кстати, были какие-то апдейты, доступные с web-страницы проекта на SF. Посмотрите.
Проект действиетльно не изменялся (не поддерживался) с 15.11.2007. Но и предложений по нему не было с того же самого времени. По сему предлагаю следующее: до 10 июня собираем требования (пожелания) к проекту (на http://sourceforge.net/tracker/?atid=895260&group_id=180955&func=browse). После озвученной даты по возможности добавим их в новый релиз. Этот релиз будет основан на последнем пре-релизе от 2007-11-15 22:47 (http://uno-pas-bridge.sourceforge.net/pre-release.php) и выложен в секцию download на сайте проекта http://sourceforge.net/project/showfiles.php?group_id=180955
PublicJoke писал(а):Третью претензию не понял.
Я там коммент поясняющий добросил.
P.S.: уведомления от SourceForge про подобные действия получаете? Думаю, было бы правильнее прямо там это обсуждать...
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
Английский что у меня, что у товарища Okoshkin никакой. Так что лучше здесь.
Как же вы без английского такую штуку осилили? снимаю шляпу.
В общем, хотелось бы чтоб программа, сделанная с вашей библиотекой ради возможности общения с OpenOffice могла б, когда опен-офиса нету, продолжать работать, просто выключив соответствующие функции. Для этого статическую линковку надо убрать.
Ещё хотелось бы, чтоб связка работала без pas_uno.dll, то есть чтоб экзешнику программы не требовалось для работы с опен-офисом ничего, кроме самого опен-офиса. Ни dll-ек своих, ни специально прописанных путей в PATH.
В общем, хотелось бы чтоб программа, сделанная с вашей библиотекой ради возможности общения с OpenOffice могла б, когда опен-офиса нету, продолжать работать, просто выключив соответствующие функции. Для этого статическую линковку надо убрать.
Ещё хотелось бы, чтоб связка работала без pas_uno.dll, то есть чтоб экзешнику программы не требовалось для работы с опен-офисом ничего, кроме самого опен-офиса. Ни dll-ек своих, ни специально прописанных путей в PATH.
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
Английский технический программерский читаю нормально, но писать не могу, в этом смысле "никакой". Коллега, впрочем, обещает в ближайшее время подтянуться до внятного изъяснения.
pas_uno.dll (so) выкинуть никак невозможно, это требование самого UNO. Схема такая - клиентское приложение, используя запросы вида uno_CreateEnvironment и uno_GetMapping из системной библиотеки cppu3.dll (so) UNO, создает нужную ему языковую среду (в нашем случае паскаль). При этом UNO в своем системном каталоге ищет библиотеку с определенными именем и набором поддерживаемых функций. Если все срослось, клиентская программа получает уведомление о том, что среда создана. Т.е., по-хорошему, должна быть еще и соответствующая "объемная" dll (в случае с Delphi это bpl), поддерживающая языковую среду сразу для нескольких приложений. Именно там мы и сделали в самом начале, когда работали только с Delphi. Потом, когда захотелось поддержать еще и FreePascal, пришлось специально сделать single-версию (я, например, уверен, что посыпятся косяки, если несколько FreePascal'евских программ на одной машине попытаются обратиться к OpenOffice одновременно с помощью нашего моста).
Единственный способ облегчить себе жизнь - довести мост до состояния Production/Stable (в частности, сделать его-таки двунаправленным) и заставить разработчиков OpenOffice включить pas_uno в комплект поставки (это если Вас напрягают вопросы автоинсталляции).
pas_uno.dll (so) выкинуть никак невозможно, это требование самого UNO. Схема такая - клиентское приложение, используя запросы вида uno_CreateEnvironment и uno_GetMapping из системной библиотеки cppu3.dll (so) UNO, создает нужную ему языковую среду (в нашем случае паскаль). При этом UNO в своем системном каталоге ищет библиотеку с определенными именем и набором поддерживаемых функций. Если все срослось, клиентская программа получает уведомление о том, что среда создана. Т.е., по-хорошему, должна быть еще и соответствующая "объемная" dll (в случае с Delphi это bpl), поддерживающая языковую среду сразу для нескольких приложений. Именно там мы и сделали в самом начале, когда работали только с Delphi. Потом, когда захотелось поддержать еще и FreePascal, пришлось специально сделать single-версию (я, например, уверен, что посыпятся косяки, если несколько FreePascal'евских программ на одной машине попытаются обратиться к OpenOffice одновременно с помощью нашего моста).
Единственный способ облегчить себе жизнь - довести мост до состояния Production/Stable (в частности, сделать его-таки двунаправленным) и заставить разработчиков OpenOffice включить pas_uno в комплект поставки (это если Вас напрягают вопросы автоинсталляции).
