Решение проблем с EhLib

asm64d

Member
Joined
Jun 14, 2008
Messages
943
Reaction score
9,629
Здесь предлагаю обсуждать проблемы с установкой, использованием Ehlib. Делимся своими наработками или примерами кода.

Ehlib Rus HELP
http://www.onlinedisk.ru/file/314955/
 
Last edited by a moderator:

stronger

Member
Joined
Aug 19, 2005
Messages
113
Reaction score
223
Как в DbgridEh сделать фильтр с списками как в Ексель?
У меня датасет IbClientDataset.
 

regkz

Member
Joined
Jul 17, 2009
Messages
73
Reaction score
311
Age
40
а в библиотечке глючок-с неприятный. Тестировал 5.0.0.2 и эту
ничего по этому поводу сказать не могу, я им не пользуюсь
 

Antoskast3

New member
Joined
Sep 30, 2009
Messages
2
Reaction score
0
Люди, всем доброго времени суток!
Вдруг у кого есть Help для EHLib на русском языке да и не жалко, то буду признателен за ссылочку.
 

asm64d

Member
Joined
Jun 14, 2008
Messages
943
Reaction score
9,629
Люди, всем доброго времени суток!
Вдруг у кого есть Help для EHLib на русском языке да и не жалко, то буду признателен за ссылочку.
http://www.onlinedisk.ru/file/314955/
+ Добавил ссылку в шапку темы
 

t34

New member
Joined
Mar 21, 2008
Messages
1
Reaction score
0
В UpdateHotTackInfo неверно определяется количество колонок

В UpdateHotTackInfo неверно определяется количество колонок, если есть закрепленные Это приводит к access violation. Отключение dghHotTrack не помогает, так как метод вызывается и при отключенном dghHotTrack. Надо добавить выход из метода, если dghHotTrack отключен.

unit DBGridEh;
...
procedure TCustomDBGridEh.UpdateHotTackInfo(X, Y: Integer);
...
begin
if not (dghHotTrack in OptionsEh) then //<--iid
exit;
 

ant32

Member
Joined
Jun 7, 2006
Messages
55
Reaction score
189
Age
54
Location
Ivanovka
Наткнулся на проблему (в Ehlib) в версии - v4.5.62
В функции SaveDBGridEhToExportFile (экспорта данных) для форматов HTML и RTF
(TDBGridEhExportAsHTML, TDBGridEhExportAsRTF) FastMM4 сигнализирует о небольшой утечке памяти (провидимому не полностью освобождаются ресурсы в TList).
 

sdima85

New member
Joined
Nov 6, 2008
Messages
4
Reaction score
0
Location
Украина
Доброго времени суток!
Кто-то знает как в список фильтра (DBGridEh1.STFilter) добавить свое значение например «Условие…», и при выборе его выполнить что-нибудь?
 

sdima85

New member
Joined
Nov 6, 2008
Messages
4
Reaction score
0
Location
Украина
Уже добавили в версии 5.1

+ The interface of droped down list of SubTitleFilter was changed. Now it is allowed to select requaried values in the list unsing checkboxes. The Item (Custom...) was added in the list of commands of filter droped down list. When selected, the simple filter dialog appeares to enter filter expression.

+ When the list of items for droped down filter list is formed, the current filter takes in account (Only when grid is conneccted to TMemTableEh).

+ New event added in Grid (TDBGridEh.OnFillSTFilterListValues), in the grid column (TColumnEh.OnFillSTFilterListValues) and in the TDBGridEhCenter (TDBGridEhCenter.OnFillSTFilterListValues). You can use event to fill list of droped down list of STFilter cell.
 

alex_ss1

New member
Joined
Feb 21, 2010
Messages
3
Reaction score
1
Age
44
Еще заметил глючок. Если задать отображение номера записи для грида, то при каких-то условиях (не могу найти закономерность - разные гриды и глюк не на всех появляется) номера записи не показываются - ширина колонки в ИДЕ - нормальная - все отображается, и индикатор, и номер записи, в рантайме ширина колонки почему-то меньше и соотв. номер записи усекается.

Я тут поковырялся в исходнике DBGridEh.pas, кому будет интересно:

function TCustomDBGridEh.CalcIndicatorColWidth: Integer;
...
if FDataLink.Active
then ARecordCount := FDataLink.DataSet.RecordCount
else ARecordCount := 0;
ARecordCount := ARecordCount div 10;
WidthText := '0'; !!! сделал '00' и номера записей не усекаются!
for i := 0 to 100 do
...


Но с шириной все равно какие-то бока. Сначала, как только открываю окно с DBGrid - все ок. А потом стоит кликнуть на title (автосортировка) и номера сдвигаются влево на несколько пикселей и ширина колонки с номерами становится меньше. Этот глюк хорошо видно, если записей больше 9, т.е. число их 2-х цифр и выше. Вышеуказанный код позволяет сделать так, чтобы номера не усекались (ширина колонки с номерами становится больше), но после клика - ширина колонки всеравно почему-то немного уменьшается.
 
Last edited by a moderator:

badamushto

Member
Joined
Mar 4, 2010
Messages
9
Reaction score
0
Никто не сталкивался с такой проблемой?...ehlib версия 5002, когда пытаешься на column грида повесить readonly вылетает violation, с более старой версией все работало...
 

alex_ss1

New member
Joined
Feb 21, 2010
Messages
3
Reaction score
1
Age
44
Кстати в этой же версии (5.0.13) заметил глючок. Открыл как-то раз dbgrid и все строки стали высотой где-то по 2 пикселя, вобщем ужас..я закрыл и снова открыл - все ок. В чем прикол - не понял. Ошибка появилась 1 раз и 2-й раз появляться не хочет. Может кто сталкивался с таким?
 

alex_ss1

New member
Joined
Feb 21, 2010
Messages
3
Reaction score
1
Age
44
Подскажите, это во всех версиях глюк с возвратом количества записей в DBGrid? Делаю MemTableEh1.RecordCount и функция возвращает мне количество записей, которые видны в DBGrid.
 

vlad-mal

Member
Joined
Aug 24, 2007
Messages
11
Reaction score
3
В EhLib 5.0.13 есть глюк в свойстве FrozenCols для грида:
если задать число > число столбцов, то ругается, но значение на сбрасывается.
Если потом поменять значение на 0, то в цикле - сообщение о недопустимом номере. До перезапуска Delphi. :(
 

vlad-mal

Member
Joined
Aug 24, 2007
Messages
11
Reaction score
3
В EhLib 5.2.84 утечка памяти при вызове диалога поиска.

Из-за того, что в модуле DBGridEhFindDlg не вызывается обработчик OnDestroy формы.

Причина: "в русских ресурсах" (файл DBGridEhFindDlg.dfm) "утеряна" строчка

OnDestroy = FormDestroy

Лекарство: в файле DBGridEhFindDlg.dfm после строк

Code:
object DBGridEhFindDlg: TDBGridEhFindDlg
...
  OnCreate = FormCreate
вставить строку

Code:
  OnDestroy = FormDestroy

Повторяю: сказанное касается только файла DBGridEhFindDlg.dfm с русскими ресурсами.

Добавлено через 9 минут
Т.е., файл нужно править тот, который в папке \LangResources\Russian, (перед инсталляцией).
 
Last edited by a moderator:

vlad-mal

Member
Joined
Aug 24, 2007
Messages
11
Reaction score
3
А уж как мерзко чекбоксы TDBCheckBoxEh в 5.2 мерзко отображаются...
Я имею в виду - в дизайнтайме. Сквозь надпись просвечивается текст редактора.

Какой-то один слишком большой глюк. :(
 
Joined
Apr 22, 2009
Messages
5
Reaction score
0
Age
42
Отлично стояла 4.2, попробовал 5.2 поставить и при инсталяции dclEhLib100.bpl вылетает ошибка
Точка входа в процедуру @ehlibvcl@CharInSetEh$ ....... не найдена в библиотеке DLL ehlib100.bpl
ок. убрал 5.2, ставлю старую 4.2 - та же ошибка. Что ж это такое то?
Подскажите как победить пожалуйста.

Добавлено через 3 минуты
PS ставлю на BDS2006

Добавлено через 16 минут
PPS EHLib 4.0 обратно поставил, но очень хотелось 5.2. Видимо не судьба?
 
Last edited by a moderator:
Top