5:51 PM Установка компонента Richmemo на Lazarus в Gtk2 |
При всех достоинствах Лазаря в нем в стандартной поставке отсутствует очень важный, на мой взгляд, компонент для форматирования текста. В дельфях, например, есть RichEdit, а вот в Лазаре ничего. Среди немногих удалось отыскать Richmemo русскоязычного разработчика Дмитрия Бояринцева aka 'skalogryz'. Итак, на Lazarus 1.3 установка компонента под Windows не составила труда и прошла без сучка и задоринки. Проблемы начались при попытке поставить компонент в Debian 7.6, который использует Gtk2. Для начала компилятор выдал Компиляция пакета richmemopackage 1.0: Код завершения 256, ошибок: 1 , и тут же получаем по лбуlcl.pas(10,3) Fatal: Невозможно найти модуль GtkDef, используемый в LCL. Проверьте список путей поиска пакета LCL, попробуйте пересобрать с очисткой, проверьте выражения Uses в секциях Implementation. патчик от Krzysztof Dibowski.
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(cost 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;
После правки gtk2richmemo.pas, сохранении и пересборки пакета, все прекрасно устанавливается и работает. Обновлено 10.11.2014 г. Недавно автор сообщил, что поправил сорцы. Теперь в выше описанных телодвижениях необходимости нет. За что ему огромное спасибо. Обновлено 1.08.2016 г.Кстати, автор недавно обновил справку к компоненту. |
|
Всего комментариев: 0 | |