Определение сборки Lazarus

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

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

Определение сборки Lazarus

Сообщение ctm » 01.04.2010 18:02:34

Как определить сборку при написании исходного кода (т.е. директивы компилации, дефайны и т.п.)?
Поиск в инете и в исходниках не помог (может, не знаю что искать)...
ctm
новенький
 
Сообщения: 21
Зарегистрирован: 03.03.2010 16:34:29

Re: Определение сборки Lazarus

Сообщение modjo » 01.04.2010 22:57:44

Есть такой вариае определение версии программы. Но оно работает, если в самой программе есть поддержка версий. (например это видно в свойства файла в виндах):

Код: Выделить всё
// Узнаем версию программы.
var
  Version: TFileVersionInfo;
  i: Integer;
begin
  Version := TFileVersionInfo.Create(nil);
  version.fileName:=ParamStr(0);                  // Указываем файл с которым работаем.
  with Version do
    for i := 0 to VersionStrings.Count-1 do       // Работаем с кучей информации о файле.
      if VersionCategories[i] = 'FileVersion' then
        begin
          StatusBar.Panels[1].Text := 'v' + VersionStrings[i];      // Указываем в программе версию.
          break;
        end;
  Version.Free;
end;
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: Определение сборки Lazarus

Сообщение alexs » 02.04.2010 14:05:07

В RX я уже компоненту для этого сделал.
Одно но - оно будет работать только с FPC из транка. Библиотека поддержки версий в последнем стабильном релизе (как мне кажется) ещё не было.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Определение сборки Lazarus

Сообщение ctm » 06.04.2010 09:17:11

Сорри не уточнил сразу - нужно отличить сборку под QT, GTK, Win32
ctm
новенький
 
Сообщения: 21
Зарегистрирован: 03.03.2010 16:34:29

Re: Определение сборки Lazarus

Сообщение скалогрыз » 06.04.2010 09:23:43

Код: Выделить всё
{$ifdef LCLQT}
{$ifdef LCLGTK}
{$ifdef LCLWIN32}
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Определение сборки Lazarus

Сообщение ctm » 06.04.2010 11:22:19

в исходниках устанавливаемого пакета дефайны не определены, а в исходниках компилируемой программы задан соответствующий дефайн.
что-то подключить нужно?
ctm
новенький
 
Сообщения: 21
Зарегистрирован: 03.03.2010 16:34:29

Re: Определение сборки Lazarus

Сообщение скалогрыз » 06.04.2010 12:36:40

ctm писал(а):в исходниках устанавливаемого пакета дефайны не определены, а в исходниках компилируемой программы задан соответствующий дефайн.
что-то подключить нужно?


нет. этот дефайн назначается самим Лазарусом при сборке проекта, через ключик компиляции (см. скриншот).

КО: ключик выбирается на основе выбранного Windgetset-а
У вас нет необходимых прав для просмотра вложений в этом сообщении.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Определение сборки Lazarus

Сообщение ctm » 06.04.2010 13:23:16

ага, вот в параметрах компиляции у проекта так и написано.
в параметрах компиляции у пакета нет ключей -d*
Ну идея понятна, спасибо
ctm
новенький
 
Сообщения: 21
Зарегистрирован: 03.03.2010 16:34:29

Re: Определение сборки Lazarus

Сообщение alaken » 08.04.2010 15:30:54

alexs писал(а):В RX я уже компоненту для этого сделал.
Одно но - оно будет работать только с FPC из транка. Библиотека поддержки версий в последнем стабильном релизе (как мне кажется) ещё не было.

пробовал добавить компонент RX Пакет-Настройка установленных пакетов, из доступных выбрал rx 1.0 - Установить выбранное-Сохранить и перезапустить IDE

После перезапуска не вижу у себя во вкладках компонентов, вкладку rx, или она не должна появляться?
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Определение сборки Lazarus

Сообщение AbakAngelSoft » 08.04.2010 15:34:58

Необходимо пересобрать среду: Сервис > Собрать lazarus
В ubuntu это надо делать от root т.е запускать среду надо через консоль
Код: Выделить всё
sudo startlazarus
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: Определение сборки Lazarus

Сообщение alaken » 08.04.2010 16:02:25

после нажатия кнопки "Сохранить и перезапустить IDE"Lazarus пересобирается...
сейчас попробую его пересобрать полностью.
проблема на WinXP под Ubuntu не пробовал.

Добавлено спустя 11 минут 41 секунду:
Пересобрал, ничего не изменилось. В сообщениях было написано что компонент rx скомпилировался. В закладках rx не появился...
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Определение сборки Lazarus

Сообщение alexs » 08.04.2010 20:42:03

alaken
Есть 2 RX
один начали давно портировать - и он идёт в составе самого Lazarus-а. Но потом это дело бросили.
Я продолжил дело - пакет называется rxfpc и находится в составе LazarusCCR - именно о нём я и говорил.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Определение сборки Lazarus

Сообщение alaken » 09.04.2010 08:10:27

пробую компилировать пакет, выдает
C:\lazarus\components\rxfpc\rxdbgrid.pas(65,15) Error: There is no method in an ancestor class to be overridden: "TRxColumnTitle.SetCaption(const AnsiString);
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Определение сборки Lazarus

Сообщение alexs » 09.04.2010 19:18:02

Либо слишком старый Lazarus, либо слишком старые rxfpc.
Я работаю с транковой версией лазаря - поэтому и текущий rxfpc компилю в ней. Старые версии не обещаю поддерживать.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50

Рейтинг@Mail.ru