[Решено] Richmemo: не могу установить под Gtk2

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

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

[Решено] Richmemo: не могу установить под Gtk2

Сообщение zoltanleo » 16.10.2014 12:09:14

Ставлю последний транк сабжа. В Винде проблем нет, на Дебиане при попытке компиляции выдает
Код: Выделить всё
Компиляция пакета richmemopackage 1.0: Код завершения 256, ошибок: 1
gtk2richmemo.pas(34,3) Fatal: Невозможно найти модуль GtkDef, используемый в Gtk2RichMemo. Включите флаг "Использовать модуль" для модуля GtkDef в пакете LCL.

Хорошо, нахожу модуль, включаю флаг, перекомпиляю LCL, снова компилю Richmemo, получаю:
Код: Выделить всё
lcl.pas(10,3) Fatal: Невозможно найти модуль GtkDef, используемый в LCL. Проверьте список путей поиска пакета LCL, попробуйте пересобрать с очисткой, проверьте выражения Uses в секциях Implementation.


У меня большое подозрение, что Лазарь (стоит тут ~/development/lazarus_trunk) почему-то не видит свои пути ("потерянный" юнит лежит здесь ~/development/lazarus_trunk/lcl/interfaces/gtk/gtkdef.pp ), но как я не смотрел в ~/.fpc.cfg, вижу только пути в библиотекам и юнитам для fpc (я там вручную поправлял пути для gcclib).

Как решить проблему? Может файлик какой с путями подправить?

зыы. rxlib, uib в той же сборке fpc+lazarus встали без проблем :o
Последний раз редактировалось zoltanleo 20.10.2014 14:07:16, всего редактировалось 1 раз.
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: [Решено]Richmemo: не могу установить под Gtk2

Сообщение zoltanleo » 17.10.2014 17:21:52

Спасение утопающих - дело рук самих утопающих :D

Наткнулся на патчик от Krzysztof Dibowski
содержимое diff-файла
Код: Выделить всё
Index: gtk2/gtk2richmemo.pas
===================================================================
--- gtk2/gtk2richmemo.pas   (wersja 1314)
+++ gtk2/gtk2richmemo.pas   (kopia robocza)
@@ -31,9 +31,9 @@
   // LCL
   LCLType, Controls, Graphics,
   // Gtk2 widget
-  GtkDef,
-  GTKWinApiWindow, GtkGlobals, GtkProc, InterfaceBase,
-  GtkWSControls,
+  Gtk2Def,
+  GTK2WinApiWindow, Gtk2Globals, Gtk2Proc, InterfaceBase,
+  Gtk2WSControls,
   // RichMemo
   WSRichMemo;

@@ -98,7 +98,7 @@
class procedure TGtk2WSCustomRichMemo.SetCallbacks(
   const AGtkWidget: PGtkWidget; const AWidgetInfo: PWidgetInfo);
begin
-   TGtkWSWinControl.SetCallbacks(PGtkObject(AGtkWidget), TComponent(AWidgetInfo^.LCLObject));
+   TGtk2WSWinControl.SetCallbacks(PGtkObject(AGtkWidget), TComponent(AWidgetInfo^.LCLObject));
end;

class function TGtk2WSCustomRichMemo.CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle;

Проблема была в том, что в оригинальный пакет собран под Gtk. После ручной правки и пересборки Лазаря все поставилось и работает.
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 239

Рейтинг@Mail.ru
cron