AutoSort TRxDBGrid+Zeos+Postgres

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

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

Re: AutoSort TRxDBGrid+Zeos+Postgres

Сообщение alexs » 16.09.2009 23:12:28

погляжу
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: AutoSort TRxDBGrid+Zeos+Postgres

Сообщение AkANz » 19.07.2010 07:03:33

Доброго времени суток.

Пакет rxnew 2.1.2.105
Добавил в папку с проектом exsortzeos.pas в разделе uses написал exsortzeos.
На форме лежит RxDBGrid.
При попытке скомпилировать ошибка в строке:
TFBDataSetSortEngine = class(TExDBGridSortEngine)

exsortzeos.pas(11,51) Error: Identifier not found "TExDBGridSortEngine"
exsortzeos.pas(11,51) Error: class type expected, but got "<erroneous type>"
exsortzeos.pas(13,15) Error: There is no method in an ancestor class to be overridden: "TFBDataSetSortEngine.Sort(TField,TDataSet,Boolean);"
exsortzeos.pas(14,15) Error: There is no method in an ancestor class to be overridden: "TFBDataSetSortEngine.SortList(AnsiString,TDataSet,Boolean);"
exsortzeos.pas(17,1) Fatal: There were 4 errors compiling module, stopping

Подскажите, пожалуйста, может я что-то не так прикрутил exsortzeos.pas.
AkANz
новенький
 
Сообщения: 26
Зарегистрирован: 16.03.2010 13:59:02
Откуда: Алтайский край

Re: AutoSort TRxDBGrid+Zeos+Postgres

Сообщение alexs » 19.07.2010 07:51:50

AkANz писал(а):TFBDataSetSortEngine = class(TExDBGridSortEngine)

Замени в тексте exsortzeos.pas TExDBGridSortEngine на TRxDBGridSortEngine
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: AutoSort TRxDBGrid+Zeos+Postgres

Сообщение AkANz » 19.07.2010 08:41:15

alexs писал(а):Замени в тексте exsortzeos.pas TExDBGridSortEngine на TRxDBGridSortEngine


Заменил. Дальше останавливается на строке:
procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override;
с ошибкой:
exsortzeos.pas(13,15) Error: There is no method in an ancestor class to be overridden: "TFBDataSetSortEngine.Sort(TField,TDataSet,Boolean);"
AkANz
новенький
 
Сообщения: 26
Зарегистрирован: 16.03.2010 13:59:02
Откуда: Алтайский край

Re: AutoSort TRxDBGrid+Zeos+Postgres

Сообщение alexs » 20.07.2010 19:49:38

Посмотри реализацию в родителе этого метода
я сам зеосом не пользуюь - поэтому этот модуль выпал из правок :-(
поправь - сделай патчик, я его включу в исходники.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: AutoSort TRxDBGrid+Zeos+Postgres

Сообщение AkANz » 21.07.2010 08:15:24

alexs писал(а):поправь - сделай патчик, я его включу в исходники.

Как делать патчик я пока не знаю :(
Подправил в следующих местах:
TFBDataSetSortEngine = class(TExDBGridSortEngine)
заменил на:
TFBDataSetSortEngine = class(TRxDBGridSortEngine) (по Вашему совету)
далее:
procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override;
на:
procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean; SortOptions:TRxSortEngineOptions);override;

procedure TFBDataSetSortEngine.Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);
на:
procedure TFBDataSetSortEngine.Sort(Field:TField; ADataSet:TDataSet; Asc:boolean; SortOptions:TRxSortEngineOptions);

и
RegisterExDBGridSortEngine(TFBDataSetSortEngine, TZReadOnlyQuery);
RegisterExDBGridSortEngine(TFBDataSetSortEngine, TZQuery);
RegisterExDBGridSortEngine(TFBDataSetSortEngine, TZTable);
на:
RegisterRxDBGridSortEngine(TFBDataSetSortEngine, TZReadOnlyQuery);
RegisterRxDBGridSortEngine(TFBDataSetSortEngine, TZQuery);
RegisterRxDBGridSortEngine(TFBDataSetSortEngine, TZTable);

И сортировка заработала :)
AkANz
новенький
 
Сообщения: 26
Зарегистрирован: 16.03.2010 13:59:02
Откуда: Алтайский край

Пред.

Вернуться в Lazarus

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

Рейтинг@Mail.ru