Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Ehlib

Автор: snike555
Дата сообщения: 01.12.2009 13:38
Не являюсь, но пользуюсь давно с 3 версии.
Автор: derelict
Дата сообщения: 01.12.2009 14:52

Цитата:
Хотя посмотрел другой топ где вы собираетесь покупать сабж

Что он только не собирается тут делать, во всех темах гиперактивный.
Автор: snike555
Дата сообщения: 01.12.2009 18:15

Цитата:
Что он только не собирается тут делать, во всех темах гиперактивный.


Много вопросов накопилось, не знал с кем обсудить.
Автор: snike555
Дата сообщения: 10.12.2009 01:53
У меня такая проблема:
Необходимо в комбобоксе выбрать вариант, варианты с рисунками, но не 16*16, а я сделал 48*48 (так лучше видно).
Вообще для таких вещей есть TComboBoxEx, в нём всё хорошо, но почему-то выпадающий список в высоту только на одну картинку и никак не получилось у меня раздвинуть. Я попробовал TDBComboBoxEh, у него с этим всё впорядке, но другая проблема, дело в том что картинки обрезаются и становятся в высоту по 16. Просьба: кто имеет прямую связь с (Богом) автором сказать ему об этом. И ещё там кнопка для вывода списка по высоте не всегда правильно растягивается. Я пробовал писать в техподдержку, но что-то молчёк.
Автор: fcdobpiy
Дата сообщения: 10.12.2009 08:29
видимо твоя проблема не очень серьёзная -))
мне ток один раз он не ответил, и то я как раз думаю, что бага просто не очень существенная, а он занят новой веткой
Автор: SIgor33
Дата сообщения: 11.12.2009 09:47
Что-то я сходу не соображу - а реально ли отследить клик по индикатору (фиксированному столбцу слева на котором появляется треугольник для текущей записи)?
Автор: Cryogen2003
Дата сообщения: 11.12.2009 09:50
SIgor33
У меня не получилось отследить такой клик
Мне это было нужно, чтобы обойти ограничение по выделение по Ctrl при CellMultiSelect. Когда я это не обошел, пришлось изменить чужой код от DevExpress
Автор: SIgor33
Дата сообщения: 11.12.2009 12:08
Cryogen2003
А что менял посмотреть можно?
Автор: Cryogen2003
Дата сообщения: 11.12.2009 12:10
SIgor33
Сорри, я только потом посмотрел, что это относиться к EhLib. Я от этого пакета избавился во всех своих проектах в пользу DevExpress. Таких глюков, как в EhLib я давно не встречал и очень рад, что больше этого пакета не будет в моих проектах.
Автор: SIgor33
Дата сообщения: 11.12.2009 12:18
Cryogen2003
Да вроде как с 5 версии EhLib хвалят.
Автор: Cryogen2003
Дата сообщения: 11.12.2009 12:25
SIgor33
Это честно говоря уже перерастает в оффтоп, но скажу что не понравилось:
1) Частые глюки с футерами (очень часто выдавались AV в футерах при обновлении всего в гриде)
2) Очень часто выдавались AV при обычном обновлении датасета, вплоть до деления на 0, особенно когда это происходит из другого процесса.
3) Часто бывало так, что канвасы блочились, но забывались вернуться из блокировки
+ какие-то глюки (какие не помню точно) как в их MemTable, так и в их DataDriver. Единственно, нареканий вот не помню на их лукап, хотя может быть просто забыл.
Автор: Samotek
Дата сообщения: 11.12.2009 13:06
Cryogen2003
Работал с 3-ей версии до последней. Ничего такого не было! (с мемтабле не работал). Отличный грид, если пользователю с ним работать, а не любоваться. Обязательно буду переходить на 5-ю
Автор: Hackman1971
Дата сообщения: 31.12.2009 05:18
Не подскажите где можно скачать рабочую последнюю версию EHLib?
Автор: eddoc
Дата сообщения: 09.01.2010 23:42
Cryogen2003

Цитата:
Я от этого пакета избавился во всех своих проектах в пользу DevExpress. Таких глюков, как в EhLib я давно не встречал и очень рад, что больше этого пакета не будет в моих проектах.

я вот в последнее время тоже стал подумывать об этом По поводу MemTbl тоже соглашусь. Похоже, там на букмарках память утекает. А вот одно из свежих после пошаговой отладки и закрытия приложения из IDE



А это только v. 4.5.xx (с 5.xx не разбирался). Увы. С добавлением новых фич, похоже, мелкие баги не исправляются из-за недостатка времени, а зря. Пользование ею вызывает все больше раздражения и тут уже ни о какой покупке не помышляешь.
Автор: maxsv2
Дата сообщения: 11.01.2010 09:55
А можно уточнение, это что за "умник" такую информацию выдает?
(я про утечку памяти)
Автор: SIgor33
Дата сообщения: 11.01.2010 10:15
Hackman1971
ищи здесь
http://forum.ru-board.com/misc.cgi?action=printtopic&forum=35&topic=43303
Автор: volser
Дата сообщения: 11.01.2010 14:11
maxsv2
Это выдает FastMM.
Автор: eddoc
Дата сообщения: 11.01.2010 22:32
maxsv2

Цитата:
что за "умник" такую информацию выдает?


Это манагер памяти. Включаешь его первым номером в uses файла проекта (*.dpr) и получаешь верного помощника. Компонент опенсорсовый, есть локализация сообщений (на рисунке это видно). Загрузить можно тут

http://sourceforge.net/projects/fastmm/files/
Автор: snike555
Дата сообщения: 13.01.2010 10:55
Как определить на DblClick в DBGridEh были клики по записи или по свободной части грида?
Автор: colt2
Дата сообщения: 13.01.2010 14:18
1. Можно ли для каждой строки отдельно прописать показ RowDetailPanel? что ни делаю либо во всех строках рисует плюсы и при нажатии на плюс раскрывается доп.панель либо плюсы нигде не рисует...
2. Можно-ди используя механизм мастер-деталь построить дерево? учитывая что данные мастера и детали хранятся в разных таблицах? собирать их в одну таблицу, а уже потом строить дерево?
Автор: Tri3S
Дата сообщения: 14.01.2010 10:45
Использую RAD Studio 2010 и Ehlib 5.0.2
На форме есть компонент DBGridEh1 который корректно отображает и редактирует данные в базе, так же в этой таблице настроена вложенная таблица DBGridEh2
которая включается свойством RowDetailPanel.Active. В DBGridEh1 включена опция перемещения по таблице с помощью Enter. Проблема в следующем: при отключенной вложенной таблице редактирование в главном гриде DBGridEh1 происходит без проблем, т.е. если поле сфокусировано то при наборе на клавиатуре поле автоматически редактируется. А вот если активировать вложенную таблицу то в главном гриде я больше не могу вносить изменения простым набором текста, приходится щелкать мышкой дважды для редактирования поля. Может кто подскажет как от это избавиться?
Автор: TuMOXA123
Дата сообщения: 16.01.2010 14:14
Скажите а subj с юникодом работает в RAD Studio 2010 ?
Автор: snike555
Дата сообщения: 16.01.2010 19:50
TuMOXA123
в 2010 Delphi работает, видать с юникодом тоже. http://ehlib.com/

Если кто знает ответ на мой вопрос про DblClick просьба подсказать


Цитата:
Как определить на DblClick в DBGridEh были клики по записи или по свободной части грида?
Автор: EugeneBoss3
Дата сообщения: 19.01.2010 06:44
Знатоки, подскажите, плиз, как создать поля TMemTableEh и индекс программно
Автор: AlexMoor
Дата сообщения: 19.01.2010 09:13
snike555

Цитата:
Как определить на DblClick в DBGridEh были клики по записи или по свободной части грида?

Может есть способ и прямее, но навскидку так:

Код:
procedure YouHandler.OnDblClick(Sender: TObject);
var
AMousePos : TPoint;
ARow : integer
begin
AMousePos := TDbGridEh(Sender).ScreenToClient(Mouse.CursorPos);
ARow := TDbGridEh(Sender).MouseCoord(AMousePos.X, AMousePos.Y).Y;
if ARow = -1 then Exit;
...
end;
Автор: Vladkyr
Дата сообщения: 22.01.2010 08:26
В версии 4.5 верхняя строка фильтра была светло-серого цвета, что визуально отделяло ее от данных, а в версии 5.x она стала такого-же цвета, как и данные, что не очень удобно. Никаких свойств на этот счет я не нашел. Может кто-нибудь знает нормальный способ изменить цвет строки фильтра без изменения кода самого компонента?
Автор: EugeneBoss3
Дата сообщения: 23.01.2010 05:21
Вопрос по MemTableEh.
Не могу создать поля TMemTableEh программно. Использую FieldDefs, IndexDefs и SetDataDriver.
Ошибок не выдает, но в гриде не отображается. Подскажите, плиз, как решить проблему.
[more=Фрагмент кода]
.....
with tbMemTable do
begin
Active := False;
with FieldDefs do
begin
Clear;
Add('IdRows',ftString,10,False);
Add('Column_01_Cal',ftInteger,0,False);
Add('Column_01_Sec',ftLargeInt,0,False);
Add('Column_01_Time',ftString,5,False);
Add('Column_02_Cal',ftInteger,0,False);
Add('Column_02_Sec',ftLargeInt,0,False);
Add('Column_02_Time',ftString,5,False);
Add('Column_03_Cal',ftInteger,0,False);
Add('Column_03_Sec',ftLargeInt,0,False);
Add('Column_03_Time',ftString,5,False);
Add('Column_04_Cal',ftInteger,0,False);
Add('Column_04_Sec',ftLargeInt,0,False);
Add('Column_04_Time',ftString,5,False);
Add('Column_05_Cal',ftInteger,0,False);
Add('Column_05_Sec',ftLargeInt,0,False);
Add('Column_05_Time',ftString,5,False);
Add('Column_06_Cal',ftInteger,0,False);
Add('Column_06_Sec',ftLargeInt,0,False);
Add('Column_06_Time',ftString,5,False);
Add('Column_07_Cal',ftInteger,0,False);
Add('Column_07_Sec',ftLargeInt,0,False);
Add('Column_07_Time',ftString,5,False);
Add('Column_08_Cal',ftInteger,0,False);
Add('Column_08_Sec',ftLargeInt,0,False);
Add('Column_08_Time',ftString,5,False);
end;

with IndexDefs do
begin
Clear;
with AddIndexDef do
begin
Name := 'IdRowsIdx';
Fields := 'IdRows';
Options := [ixCaseInsensitive];
end;
end;
CreateDataSet;
Active := True;
end;
.....
[/more]
Автор: Vladkyr
Дата сообщения: 26.01.2010 08:24
EugeneBoss3
У меня Ваш код сработал. Т.е. если dataSource настроить на tbMemTable, и настроить grid на этот datasource, то в гриде появляются все колонки.
Автор: EugeneBoss3
Дата сообщения: 27.01.2010 02:58
Vladkyr

Цитата:
У меня Ваш код сработал.

В том виде как был - не работает. Изменил немного код - все ОК!
[more=Исправленный код]
.....
with tbMemTable do
begin
Active := False;
with FieldDefs do
begin
Clear;
Add('IdRows',ftString,10,False);
Add('Column_01_Cal',ftInteger,0,False);
Add('Column_01_Sec',ftLargeInt,0,False);
Add('Column_01_Time',ftString,5,False);
Add('Column_02_Cal',ftInteger,0,False);
Add('Column_02_Sec',ftLargeInt,0,False);
Add('Column_02_Time',ftString,5,False);
Add('Column_03_Cal',ftInteger,0,False);
Add('Column_03_Sec',ftLargeInt,0,False);
Add('Column_03_Time',ftString,5,False);
Add('Column_04_Cal',ftInteger,0,False);
Add('Column_04_Sec',ftLargeInt,0,False);
Add('Column_04_Time',ftString,5,False);
Add('Column_05_Cal',ftInteger,0,False);
Add('Column_05_Sec',ftLargeInt,0,False);
Add('Column_05_Time',ftString,5,False);
Add('Column_06_Cal',ftInteger,0,False);
Add('Column_06_Sec',ftLargeInt,0,False);
Add('Column_06_Time',ftString,5,False);
Add('Column_07_Cal',ftInteger,0,False);
Add('Column_07_Sec',ftLargeInt,0,False);
Add('Column_07_Time',ftString,5,False);
Add('Column_08_Cal',ftInteger,0,False);
Add('Column_08_Sec',ftLargeInt,0,False);
Add('Column_08_Time',ftString,5,False);
end;

with IndexDefs do
begin
Clear;
with AddIndexDef do
begin
Name := 'IdRowsIdx';
Fields := 'IdRows';
Options := [ixCaseInsensitive];
end;
end;
CreateDataSet;
dsMemTable.DataSet:= tbMemTable;
DBGridEh1.DataSource:= dsMemTable;
DBGridEh1.Columns.AddAllColumns(true);
Active := True;

end;
.....
[/more]
Автор: Odysseos
Дата сообщения: 27.01.2010 14:33
Vladkyr

Примерно так:

1. объявляем свой класс-наследник от TDBGridEhStyle (например, TMyDBGridEhStyle);
2. наследуем его метод HighlightNoDataCellColor;
3. в нем проверяем тип ячейки, выставляем цвет по желанию (естественно, поменять можно не только цвет - что угодно), и вызываем родительский метод:


Код:
begin
if (CellType.HorzType = hctDataEh) and (CellType.VertType = vctSubTitleEh) then
AColor := <желаемый цвет строки>;

Result := inherited HighlightNoDataCellColor(
AGrid, ACol, ARow, DataCol, DataRow,
CellType, AState, InMultiSelect,
AColor, AFont
);
end;

Страницы: 1234567891011121314151617181920212223

Предыдущая тема: Конвертация char в ASCII код; c


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.