define gtk2

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

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

Ответить
Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

define gtk2

Сообщение hinst »

Проблема: при сборке для gtk2 переменная компилятора "gtk2" при сборки юнитов, отвечающих за гтк (лазарусовских gtkdef, gtkproc и проч) почему-то не определена и {$ifdef gtk2} в них работают не верно => не собирается нифига.
Спасайте плиз
З.Ы.: спасайте меня скорее
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

а версию ? и как собираешь . .
Аватара пользователя
carrots
постоялец
Сообщения: 138
Зарегистрирован: 28.03.2008 01:13:02

Сообщение carrots »

По моему в gtkdef и gtkproc они прекрасно работают. :?

Очевидно вы используете переменную gtk2 раньше чем она прописывается.

В таком случае можете попробовать следующий вариант:

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

uses ... InterfaceBase ...;

...

if WidgetSet.LCLPlatform = lpGtk2 then
begin
// ваш код
end;


Функция WidgetSet.LCLPlatform возвращает название используемой платформы.
Нужно подключить юнит InterfaceBase.
Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Сообщение hinst »

>>Очевидно вы используете переменную gtk2 раньше чем она прописывается
я её вообще не использую (лично).
её используют части LCL

версия 0.9.29 для линуха тестовая, 2.2.4
Аватара пользователя
carrots
постоялец
Сообщения: 138
Зарегистрирован: 28.03.2008 01:13:02

Сообщение carrots »

lazarus 0.9.29, fpc 2.5.1, все отлично работает, хотя 2.2.4 тоже должна работать.
Возможно он у вас вообще не компилируется. Убедитесь что в настройках для LCL выставлена очистка и компиляция, а еще лучше выставьте птичку "Очистить Все"
Ответить