Установка компонентов в Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
Romtek
постоялец
Сообщения: 190
Зарегистрирован: 22.05.2005 12:29:35
Откуда: Рамат Ган
Контактная информация:

Установка компонентов в Lazarus

Сообщение Romtek »

Почему при установке компонентов в Lazarus требуется его перекомпиляция? Это что за гений придумал такую систему? :?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

=) кто придумал можно посмотреть в исходниках там вроде написанно должно быть, а вот почему не исправляют это уже не понятно для это существует 3 действия
1 - отображение на форме лазаря динамически все легко делается имхо
2 - отработка переноса компонента , не копался но мне по чему-то кажется что изменений не понадобится
3 - компиляция, то бишь добавление путей при компиляции тоже не проблема

только вот не понадобится ли переделка всех компонентов из-за этого, может из-за это стопор ?
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

2 Attid: Тогда такой впрос - а мождно ли лазарь отучить от пересборки свой ide, при установке новых компонент? Если для этого надо при компиляции лазаря указать определёные параметры, то какие?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Перекомпиляция нужна из-за того, что FPC не умеет создавать пакеты, как Delphi. Пока не научится, вряд ли что-то поменяется. Помещение компонентов в обычные dll не помогает, потому что при этом возникают всяческие проблемы с rtti и прочим. Кроме того, из-за того, что все обновляется семь раз на дню, любые библиотеки обречены на постоянный конфликт версий.
Обсуждение возможных вариантов решения ведется, но приемлемого пока не нашли.
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Х@%$&^ :evil: Мне нужно, что бы компоненты устанавливались в ide без её персборки. И вариант персборки ide меня совершенно не устраиват. А dll мне и подавно не нужны, я на linux'е. И варианта обойти, как я понял, нет?
Sniper
постоялец
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper »

AShen
Чем не устраивает? Компоненты часто обновляются или Lazarus долго компилируется?
SergKam
постоялец
Сообщения: 251
Зарегистрирован: 16.11.2005 20:31:11
Откуда: Украина,Харьков

Сообщение SergKam »

AShen
умный какой. пойди и сделай.Неустраивает его :P
Чем всетаки если не секрет.
Пересборка идет секунд 20 всего, меня это не напрягает.
Сказалиже вам не умеет FPC а точнее линковшик ld из GCC делать
.bpl так что пока внутренний линковщик не сделают для линукса можете только хотеть. это не проблема лазаруса.
(кстати .dll в линусе просто называются по другому .so)
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

не ну если не устраивать пересборка то можно компоненты в рантайме создовать =)

хотя проблемы линковщика не очень понятно если я создам компонент в рантайме и он не будет установлен в лазарус то все собирется без проблем необходимо лишь добавить путь с исходниками компонент и все будет работать , так что думается это больше проблемы лазаря с отображением лазаря визуальных компонент в дизайн тайме.
а вот не визуальные компоненты сделать динамически подгружаемыми это как мне думается нескольо часов копания в исходниках.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Чтобы редактировать компонент в дизайнтайме, нужен доступ к его RTTI. Чтобы появилась RTTI, надо исходник скомпилировать. Кроме того, любой компонент, даже невизуальный, может делать какие-то действия при изменении его свойств. Компоненты бывают составными и т.д.

Вот подумалось: Линуксовый линкер, если его по рукам не бить, стремится все символы в .so сделать экспортируемыми. Можно ли в таком режиме скомпилить сам Лазарь? А потом подгружать .o динамически... Но, как бы просто не звучало, это все равно весьма нетривиальная задача.
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

2 SergKam: Я использую alt linux. Пакеты в alt linux устанавливаются в /usr (в основном), с соотвествующим распределением по подкаталогам. Компиляция программ, сборка пакетов под пользователем root в alt linux запрещена. В таком случае обычный пользователь не сможет установить какие либо компоненты в lazarus'е, если они зранее не предустановлены. Установка программ из пакетов, находящихся в репозитариях alt linux'а, в ~/<username> то же запрещена. Вот из-за этого любовь лазаря к пересборки своей ide меня не устраивает.

2 Sergei I. Gorelkin: интересная мысля ...
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

AShen
во первых лазарь из реп не обязательно устанавливать так как он приксно собирается и это очень важная часть работы с ним,
во вторых можно дать права на папку и все будет пучком, у мну вот например убунту но чтоб не мудрить с путями и даже ~/ (не нравится мне домашний каталог, мусора там много) сделал себе папочку /attid и в ней у мну все права и лазарь там же и все компоненты и папочка с project

вот =)
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

2 Attid: прочти внимательно мой предыдущий пост. Есть чётко заданные и определённые alt linux policy. Что бы пакет находился в репозитариях alt linux, он должен соотвествовать этим требованиям. Пока заставить lazarus соотвествовать этим требованиям мне не удалось ... именно из-за пересборки ide. А так он у мен ясобирается, стартует и вроде работает ... ;)
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

ну енто и не бубнту\дебиан вей тоже =)
но ничего не поделаешь =(
может когда хоть до версии 1 дойдем будет что-то проще в этой жизни =)
Ответить