Ошибка компиляции BGRA

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

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

Ответить
MysticCoder
постоялец
Сообщения: 154
Зарегистрирован: 14.09.2013 00:20:28

Ошибка компиляции BGRA

Сообщение MysticCoder »

Добавил к проекту модуль BGRABitmap, все хорошо компилируется, но... Попробовал отрисовать в созданном TBGRABitmap текст через TBGRABitmap.TextOut - не находит шрифтов. Посмотрел в FontCollection - там только один файл шрифта загружен. Ок, смотрю прошлый проект там со шрифтами и TBGRABitmap все ок, из отличий - LCL в списке зависимостей, глянул, что происходит при поиске шрифтов - ну да, в этом случае FontManager другой, LCL'ный.
Добавляю LCL в зависимости к первому проекту - начинает падать при компиляции на файле:
/home/tori/projects/Janna/src/bgra/geometrytypes.inc(562,1) Ошибка: Argument cannot be assigned to

Код: Выделить всё

function TBGRACustomGradient.GetColorAtF(position: single): TBGRAPixel;
begin                                                                   <<<---- строчка 562
  position *= 65536;
  if position < low(integer) then
    result := GetColorAt(low(Integer))
  else if position > high(integer) then
    result := GetColorAt(high(Integer))
  else
    result := GetColorAt(round(position));
end;   


закомментировал в этой функции все, между begin и end - без толку, та же ошибка на строчке с begin. Убираю LCL из зависимостей, все компилируется, ставишь обратно - нет.
в доках BGRA было сказано, что на линукс системах может не компилиться, решается установкой LCLProc := gtk2, ставил, без толку.

удаляешь LCL - все компилируется, ставишь обратно - нет. Другой проект с такими же зависимостями, с той же версией BGRA нормально компилируется.
1. Как это лечить?
2. Как можно проблему отсутствия шрифтов в случае без LCL решить?

Lazarus 1.6.2.
Последний раз редактировалось MysticCoder 29.09.2017 16:24:55, всего редактировалось 2 раза.
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>Добавляю LCL в зависимости к первому проекту - начинает падать при компиляции на файле:
яано путаница с файлами. на строчке с begin такой ошибки компилятора быть неможет
Аватара пользователя
DYUMON
постоялец
Сообщения: 234
Зарегистрирован: 11.03.2009 12:32:54
Контактная информация:

Сообщение DYUMON »

может надо еще модуль подключить где TBGRAPixel хранится
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Цепяю BGRA вот так:

Изображение

Всё работает, в том числе со шрифтами.
MysticCoder
постоялец
Сообщения: 154
Зарегистрирован: 14.09.2013 00:20:28

Сообщение MysticCoder »

Проблема решилась переходом на Lazarus 1.6.4
MysticCoder
постоялец
Сообщения: 154
Зарегистрирован: 14.09.2013 00:20:28

Сообщение MysticCoder »

Появилась другая проблема. Если ставлю в настройках проекта использование оптимизации, то перестает компилироваться. Выдает сообщения типа:

Код: Выделить всё

procedure TBGRADefaultBitmap.SetArrowEndSize(AValue: TPointF);
begin
  GetArrow.EndSize := AValue; << на этой строчке
end;         
..
bgradefaultbitmap.pas(1065,3) Error: Asm: [movq mem??,reg64] invalid combination of opcode and operands


и таких ошибок куча. Что делать?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

MysticCoder, видимо, временно (надеюсь) отказаться от оптимизации. Либо искать другой пакет, в котором таких проблем не будет.
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 839
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

А как установить BGRABitmap пакет? Скачал с GitHub, открываю пакет, компилируется, но "Установить" серая. Не ошибок, никак не ругается. Контроллы так же.
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

Если пакет не предоставляет контролы - его достаточно скомпилировать
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Sharfik, контролы находятся в пакете bgracontrols.lpk
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 839
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

Снег Север писал(а):контролы находятся в пакете bgracontrols.lpk

ага, но это не означает что они устанавливаются :)

Добавлено спустя 32 секунды:
Снег Север писал(а):Sharfik, контролы находятся в пакете bgracontrols.lpk

Ну так и стал использовать, но показалось что это не правильно.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Почему-то на винде у меня всё установилось и работало, в моём проекте wsysmeter
https://github.com/snegsever/githubprojects
Ответить