Установка компонентов в Lazarus
Модератор: Модераторы
- Romtek
- постоялец
- Сообщения: 190
- Зарегистрирован: 22.05.2005 12:29:35
- Откуда: Рамат Ган
- Контактная информация:
Установка компонентов в Lazarus
Почему при установке компонентов в Lazarus требуется его перекомпиляция? Это что за гений придумал такую систему? 
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
=) кто придумал можно посмотреть в исходниках там вроде написанно должно быть, а вот почему не исправляют это уже не понятно для это существует 3 действия
1 - отображение на форме лазаря динамически все легко делается имхо
2 - отработка переноса компонента , не копался но мне по чему-то кажется что изменений не понадобится
3 - компиляция, то бишь добавление путей при компиляции тоже не проблема
только вот не понадобится ли переделка всех компонентов из-за этого, может из-за это стопор ?
1 - отображение на форме лазаря динамически все легко делается имхо
2 - отработка переноса компонента , не копался но мне по чему-то кажется что изменений не понадобится
3 - компиляция, то бишь добавление путей при компиляции тоже не проблема
только вот не понадобится ли переделка всех компонентов из-за этого, может из-за это стопор ?
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Перекомпиляция нужна из-за того, что FPC не умеет создавать пакеты, как Delphi. Пока не научится, вряд ли что-то поменяется. Помещение компонентов в обычные dll не помогает, потому что при этом возникают всяческие проблемы с rtti и прочим. Кроме того, из-за того, что все обновляется семь раз на дню, любые библиотеки обречены на постоянный конфликт версий.
Обсуждение возможных вариантов решения ведется, но приемлемого пока не нашли.
Обсуждение возможных вариантов решения ведется, но приемлемого пока не нашли.
AShen
умный какой. пойди и сделай.Неустраивает его
Чем всетаки если не секрет.
Пересборка идет секунд 20 всего, меня это не напрягает.
Сказалиже вам не умеет FPC а точнее линковшик ld из GCC делать
.bpl так что пока внутренний линковщик не сделают для линукса можете только хотеть. это не проблема лазаруса.
(кстати .dll в линусе просто называются по другому .so)
умный какой. пойди и сделай.Неустраивает его
Чем всетаки если не секрет.
Пересборка идет секунд 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
- Контактная информация:
не ну если не устраивать пересборка то можно компоненты в рантайме создовать =)
хотя проблемы линковщика не очень понятно если я создам компонент в рантайме и он не будет установлен в лазарус то все собирется без проблем необходимо лишь добавить путь с исходниками компонент и все будет работать , так что думается это больше проблемы лазаря с отображением лазаря визуальных компонент в дизайн тайме.
а вот не визуальные компоненты сделать динамически подгружаемыми это как мне думается нескольо часов копания в исходниках.
хотя проблемы линковщика не очень понятно если я создам компонент в рантайме и он не будет установлен в лазарус то все собирется без проблем необходимо лишь добавить путь с исходниками компонент и все будет работать , так что думается это больше проблемы лазаря с отображением лазаря визуальных компонент в дизайн тайме.
а вот не визуальные компоненты сделать динамически подгружаемыми это как мне думается нескольо часов копания в исходниках.
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Чтобы редактировать компонент в дизайнтайме, нужен доступ к его RTTI. Чтобы появилась RTTI, надо исходник скомпилировать. Кроме того, любой компонент, даже невизуальный, может делать какие-то действия при изменении его свойств. Компоненты бывают составными и т.д.
Вот подумалось: Линуксовый линкер, если его по рукам не бить, стремится все символы в .so сделать экспортируемыми. Можно ли в таком режиме скомпилить сам Лазарь? А потом подгружать .o динамически... Но, как бы просто не звучало, это все равно весьма нетривиальная задача.
Вот подумалось: Линуксовый линкер, если его по рукам не бить, стремится все символы в .so сделать экспортируемыми. Можно ли в таком режиме скомпилить сам Лазарь? А потом подгружать .o динамически... Но, как бы просто не звучало, это все равно весьма нетривиальная задача.
2 SergKam: Я использую alt linux. Пакеты в alt linux устанавливаются в /usr (в основном), с соотвествующим распределением по подкаталогам. Компиляция программ, сборка пакетов под пользователем root в alt linux запрещена. В таком случае обычный пользователь не сможет установить какие либо компоненты в lazarus'е, если они зранее не предустановлены. Установка программ из пакетов, находящихся в репозитариях alt linux'а, в ~/<username> то же запрещена. Вот из-за этого любовь лазаря к пересборки своей ide меня не устраивает.
2 Sergei I. Gorelkin: интересная мысля ...
2 Sergei I. Gorelkin: интересная мысля ...
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
AShen
во первых лазарь из реп не обязательно устанавливать так как он приксно собирается и это очень важная часть работы с ним,
во вторых можно дать права на папку и все будет пучком, у мну вот например убунту но чтоб не мудрить с путями и даже ~/ (не нравится мне домашний каталог, мусора там много) сделал себе папочку /attid и в ней у мну все права и лазарь там же и все компоненты и папочка с project
вот =)
во первых лазарь из реп не обязательно устанавливать так как он приксно собирается и это очень важная часть работы с ним,
во вторых можно дать права на папку и все будет пучком, у мну вот например убунту но чтоб не мудрить с путями и даже ~/ (не нравится мне домашний каталог, мусора там много) сделал себе папочку /attid и в ней у мну все права и лазарь там же и все компоненты и папочка с project
вот =)
2 Attid: прочти внимательно мой предыдущий пост. Есть чётко заданные и определённые alt linux policy. Что бы пакет находился в репозитариях alt linux, он должен соотвествовать этим требованиям. Пока заставить lazarus соотвествовать этим требованиям мне не удалось ... именно из-за пересборки ide. А так он у мен ясобирается, стартует и вроде работает ... 
