Определение сборки Lazarus
Модератор: Модераторы
Определение сборки Lazarus
Как определить сборку при написании исходного кода (т.е. директивы компилации, дефайны и т.п.)?
Поиск в инете и в исходниках не помог (может, не знаю что искать)...
Поиск в инете и в исходниках не помог (может, не знаю что искать)...
Есть такой вариае определение версии программы. Но оно работает, если в самой программе есть поддержка версий. (например это видно в свойства файла в виндах):
Код: Выделить всё
// Узнаем версию программы.
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;Сорри не уточнил сразу - нужно отличить сборку под QT, GTK, Win32
Код: Выделить всё
{$ifdef LCLQT}
{$ifdef LCLGTK}
{$ifdef LCLWIN32}
в исходниках устанавливаемого пакета дефайны не определены, а в исходниках компилируемой программы задан соответствующий дефайн.
что-то подключить нужно?
что-то подключить нужно?
ctm писал(а):в исходниках устанавливаемого пакета дефайны не определены, а в исходниках компилируемой программы задан соответствующий дефайн.
что-то подключить нужно?
нет. этот дефайн назначается самим Лазарусом при сборке проекта, через ключик компиляции (см. скриншот).
КО: ключик выбирается на основе выбранного Windgetset-а
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ага, вот в параметрах компиляции у проекта так и написано.
в параметрах компиляции у пакета нет ключей -d*
Ну идея понятна, спасибо
в параметрах компиляции у пакета нет ключей -d*
Ну идея понятна, спасибо
alexs писал(а):В RX я уже компоненту для этого сделал.
Одно но - оно будет работать только с FPC из транка. Библиотека поддержки версий в последнем стабильном релизе (как мне кажется) ещё не было.
пробовал добавить компонент RX Пакет-Настройка установленных пакетов, из доступных выбрал rx 1.0 - Установить выбранное-Сохранить и перезапустить IDE
После перезапуска не вижу у себя во вкладках компонентов, вкладку rx, или она не должна появляться?
- AbakAngelSoft
- постоялец
- Сообщения: 273
- Зарегистрирован: 06.08.2008 19:28:26
- Откуда: Краснодар
- Контактная информация:
Необходимо пересобрать среду: Сервис > Собрать lazarus
В ubuntu это надо делать от root т.е запускать среду надо через консоль
В ubuntu это надо делать от root т.е запускать среду надо через консоль
Код: Выделить всё
sudo startlazarusпосле нажатия кнопки "Сохранить и перезапустить IDE"Lazarus пересобирается...
сейчас попробую его пересобрать полностью.
проблема на WinXP под Ubuntu не пробовал.
Добавлено спустя 11 минут 41 секунду:
Пересобрал, ничего не изменилось. В сообщениях было написано что компонент rx скомпилировался. В закладках rx не появился...
сейчас попробую его пересобрать полностью.
проблема на WinXP под Ubuntu не пробовал.
Добавлено спустя 11 минут 41 секунду:
Пересобрал, ничего не изменилось. В сообщениях было написано что компонент rx скомпилировался. В закладках rx не появился...
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
alaken
Есть 2 RX
один начали давно портировать - и он идёт в составе самого Lazarus-а. Но потом это дело бросили.
Я продолжил дело - пакет называется rxfpc и находится в составе LazarusCCR - именно о нём я и говорил.
Есть 2 RX
один начали давно портировать - и он идёт в составе самого Lazarus-а. Но потом это дело бросили.
Я продолжил дело - пакет называется rxfpc и находится в составе LazarusCCR - именно о нём я и говорил.
пробую компилировать пакет, выдает
C:\lazarus\components\rxfpc\rxdbgrid.pas(65,15) Error: There is no method in an ancestor class to be overridden: "TRxColumnTitle.SetCaption(const AnsiString);
