Не собирается пакет на последних Lazarus & FPC

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

ssl
новенький
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Не собирается пакет на последних Lazarus & FPC

Сообщение ssl »

TRxDBGrid.GetBufferCount -- There is no method in an ancestor class to be overridden
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Текущая версия библиотеки работает только с Lazarus 1.1.
Всё дело в том, что для реализации некоторых возможностей были внесены изменения в LCL. И эти изменения пока не попали в стабильные ветки Lazarus (1.0.10...)
ssadragon
постоялец
Сообщения: 148
Зарегистрирован: 03.12.2012 20:21:35

Сообщение ssadragon »

Будет работать если стереть слово Override; кажется после TRxDBGrid.GetBufferCount
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

После этого появятся глюки с последней стокой в гриде, если будетвключен многострочный заголовок и/или итоговая строка
ssadragon
постоялец
Сообщения: 148
Зарегистрирован: 03.12.2012 20:21:35

Сообщение ssadragon »

alexs писал(а):После этого появятся глюки с последней стокой в гриде, если будетвключен многострочный заголовок и/или итоговая строка

Ну да может быть, не отрицаю. Зато компилируется.
ssl
новенький
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Сообщение ssl »

Ясно, 10х
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Закомител изменения. Теперь должно собираться и на стабильных версиях.
TRxDBGrid.GetBufferCount обернул в директивы компиляции - теперь всё это работает только в версии 1.1.
Соответсвенно в 1.0 функционал не будет доступен.
Визуально будет проявляться в виде артефактов последней строки - она может быть на половину скрыта.
ssadragon
постоялец
Сообщения: 148
Зарегистрирован: 03.12.2012 20:21:35

Сообщение ssadragon »

alexs писал(а):Закомител изменения.

Вот -
/rxdbgrid.pas(43,5) Fatal: Internal error 200501152
на строке {$if ((lcl_major = 1) and (lcl_minor = 1))}
после последнего коммита :(
Вложения
Только не Gtk2 а Qt
Только не Gtk2 а Qt
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Странно.
А ещё кто может проверить? В define вроде давно уже можно использовать обычные константы паскаля...
ssadragon
постоялец
Сообщения: 148
Зарегистрирован: 03.12.2012 20:21:35

Сообщение ssadragon »

alexs писал(а):Странно.

Я тоже удивлен.
В винде такая же бяка.
hovadur
постоялец
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Сообщение hovadur »

lazarus 1.0.10, fpc 2.6.2
Вместо:

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

{$if ((lcl_major = 1) and (lcl_minor = 1))}
  {$DEFINE RX_USE_LCL_DEVEL}
{$ENDIF}

Нужно поставить:

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

{$IFDEF LCL_MAJOR = 1}
  {$IFDEF LCL_MINOR = 1}
    {$DEFINE RX_USE_LCL_DEVEL}
  {$ENDIF}
{$ENDIF}

И тогда скомпилируется.
Патч посылать? :)
ssadragon
постоялец
Сообщения: 148
Зарегистрирован: 03.12.2012 20:21:35

Сообщение ssadragon »

hovadur писал(а):И тогда скомпилируется

Да скомпилируется, но работает не так как надо
У меня Lazarus 1.1
Между строками {$IFDEF LCL_MAJOR = 1} .. {$ENDIF} строки

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

{$IFDEF LCL_MINOR = 1} 
   {$DEFINE RX_USE_LCL_DEVEL}
{$ENDIF}

неактивны, хотя должны быть активными, т.к. в юните LCLVersion черным по белому

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

const
  lcl_major = 1;
  lcl_minor = 1;
  lcl_release = 0;
  lcl_patch = 0;
  lcl_fullversion = ((lcl_major *  100 + lcl_minor) * 100 + lcl_release) * 100 + lcl_patch;
  lcl_version = '1.1';     
ssadragon
постоялец
Сообщения: 148
Зарегистрирован: 03.12.2012 20:21:35

Сообщение ssadragon »

Здравствуйте!
Команда Lazarus закомментила функции из FileUtil, соответственно пакет теперь не собирается и ругается на все эти функции.
Сделано это было в ревизии 51834 "LazUtils: disable the wrapper functions in FileUtil by default. The wrapper functions will be removed later on."
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

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

ssadragon, обсуждалось. Подключите модуль LazFileUtils
ssadragon
постоялец
Сообщения: 148
Зарегистрирован: 03.12.2012 20:21:35

Сообщение ssadragon »

Лекс Айрин И где же это обсуждалось?
Вот что пришлось поменять чтобы пакет собрался. Вытащил это все через функцию фиксировать в TortoiseSVN

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

--- Temp/rxapputils.pas-revBASE.svn001.tmp.pas   ѕн мар  2 15:49:50 2015
+++ E:/lazarus/components/@component/alex_components/rx_n/rxapputils.pas   —р мар  9 11:52:26 2016
@@ -83 +83 @@ uses
-  Registry, Forms, FileUtil, LazUTF8;
+  Registry, Forms, LazFileUtils, LazUTF8;

--- Temp/rxfileutils.pas-revBASE.svn001.tmp.pas   ѕт июл 25 19:20:01 2014
+++ E:/lazarus/components/@component/alex_components/rx_n/rxfileutils.pas   —р мар  9 11:58:27 2016
@@ -52 +52 @@ uses
-   FileUtil;
+   LazUTF8;

--- Temp/rxinipropstorage.pas-revBASE.svn001.tmp.pas
+++ E:/lazarus/components/@component/alex_components/rx_n/rxinipropstorage.pas   
@@ -57 +57 @@ implementation
-uses rxapputils, LazUTF8, FileUtil;
+uses rxapputils, LazUTF8, LazFileUtils;

--- Temp/rxversinfo.pas-revBASE.svn001.tmp.pas
+++ E:/lazarus/components/@component/alex_components/rx_n/rxversinfo.pas   
@@ -112 +112 @@ implementation
-uses FileUtil, resource, resreader, InterfaceBase, rxconst
+uses FileUtil, LazUTF8, resource, resreader, InterfaceBase, rxconst

--- Temp/folderlister.pas-revBASE.svn001.tmp.pas   ѕт июл 25 19:20:01 2014
+++ E:/lazarus/components/@component/alex_components/rx_n/folderlister.pas   —р мар  9 11:54:07 2016
@@ -82 +82 @@ implementation
-uses FileUtil, strutils, RxAppUtils, LazUTF8;
+uses LazFileUtils, strutils, RxAppUtils, LazUTF8;

--- Temp/rxaboutformunit.pas-revBASE.svn001.tmp.pas   ѕт июл 25 19:20:01 2014
+++ E:/lazarus/components/@component/alex_components/rx_n/rxaboutformunit.pas   —р мар  9 11:56:48 2016
@@ -39 +39 @@ uses
-  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
+  Classes, SysUtils, LazUTF8, LResources, Forms, Controls, Graphics, Dialogs,
@@ -102 +102 @@ begin
-  if FileExistsUTF8(AFileName) then
+  if FileExists(AFileName) then


И кстати! Функции из модуля FileUtil уже даааавно Deprecated. Я думаю надо было раньше позаботится об этом. И не было бы такой ситуации как сейчас, когда эти функции просто отрубили.
Ответить