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

» Использование DevExpress (часть 3)

Автор: vladman
Дата сообщения: 09.03.2009 21:59
Andrey128

Цитата:
Хочу соорудить что-то наподобе TCategoryPanelGroup из D2009 с помощью Девок.


Цитата:
Есть вот такя фича - TdxSideBar - посмотри может поможет..
Этот гад не дружит с TdxSkinController.SkinName

Можно поиграться с TdxNavBar и его ViewStyle. Уверен, что можно найти подходящий.
Автор: frozen_z
Дата сообщения: 10.03.2009 15:34
Прошу прощения за глупый вопрос, но что-то заклинило...

Хочу сделать автоматическое выравнивание содержимого в Detail View cxGrid,
обрабатываю событие FocusedViewChanged, но процедура активизируется только после фокусировки на самой вьюхе, а я хотел чтобы сразу после раскрытия (нажатия на плюсик) подскажите пожалуйста какое событие надо обрабатывать... или я что-то не так думаю

procedure TForm2.cxGridTableFocusedViewChanged(Sender: TcxCustomGrid;
APrevFocusedView, AFocusedView: TcxCustomGridView);
begin
if AfocusedView.IsDetail then
TcxGridDBTableView(cxGridListColumnView.Clones[0]).ApplyBestFit;
end;
Автор: X11
Дата сообщения: 10.03.2009 17:05
Установил Dev 42 (D2007+D2009)
Установил Fib 696 (D2009)
Устанавливаю EhLib 4.3 Build 4.3.24

При установке пакета DclEhLibDataDrivers120.bpl такое вот сообщение

Цитата:
Приложению не удалось запуститься, поскольку dclcxSchedulerD12.bpl не был найден. Повторная установка приложения может исправить эту проблему.


какая может быть связь....

Добавлено:
Забыл дописать. Это в D2009.

Добавлено:
Не может ли на это влиять то, что запущена D2007?


Кое-как установил.... но... теперь при запуске D2009

Цитата:
Приложению не удалось запуститься, поскольку dclcxSchedulerD12.bpl не был найден. Повторная установка приложения может исправить эту проблему.
Автор: vladman
Дата сообщения: 10.03.2009 18:42
frozen_z

Цитата:
подскажите пожалуйста какое событие надо обрабатывать...

У DataController'а TcxGridDBTableView существует событие onDetailExpanded, его и нужно обрабатывать.
Автор: Andrey128
Дата сообщения: 10.03.2009 19:00
X11

Цитата:
Приложению не удалось запуститься, поскольку dclcxSchedulerD12.bpl не был найден. Повторная установка приложения может исправить эту проблему.

Попробуйте помочь найти Делфи это бэпээлку.
Мой компьютер, правый клик, Свойство, Дополнительно, Переменные среды, Переменные среды для пользователя
В переменную Path (если нет то создать) добавить через разделитель ";" путь к dclcxSchedulerD12.bpl

У меня примерно такая же ситуация была, моя библиотека наследует компоненты из Девок, Девок я брал от feandy. Cейчаc точно не помню в чём проблема (давно было), кажется когда из bpl (1) вызывается другая bpl (2), то путь не подставляется из 1-й.

Добавлено:
Как можно в TcxPageControl (TcxTabControl) сделать редактирование название вкладки прям там же где оно выводится. Как, например, сделано в MS OneNote.
Автор: Meister Floh
Дата сообщения: 10.03.2009 20:31
X11
Решение тривиально!!! Скопируйте dclcxSchedulerD12.bpl в system32
Автор: vladman
Дата сообщения: 10.03.2009 20:53
Andrey128

Цитата:
Как можно в TcxPageControl (TcxTabControl) сделать редактирование название вкладки прям там же где оно выводится

Как вариант:
1. по правому клику команда *Переименовать*;
2. по этой команде - создавать cxTextEdit (например), вычислить его корректное положение и размеры относительно редактируемого таба для перекрытия его (таба) существующего названия; поэкспериментировать с фоном и бордером для большей схожести с MS OneNote
3. присвоить свойству Text созданного cxTextEdit значение <YourPageContorl>.ActivePage.Caption.
4. обработать событие OnKeyDown созданного cxTextEdit, в котором выполнить проверку на VK_RETURN и следующее
<YourPageContorl>.ActivePage.Caption := TcxTextEdit(Sender).Text;
Key := 0;
Sender.Destroy;

можно еще обработать событие cxTextEdit OnExit.
Автор: X11
Дата сообщения: 10.03.2009 21:34

Цитата:
Попробуйте помочь найти Делфи это бэпээлку.
Мой компьютер, правый клик, Свойство, Дополнительно, Переменные среды, Переменные среды для пользователя
В переменную Path (если нет то создать) добавить через разделитель ";" путь к dclcxSchedulerD12.bpl

само собой, что внесён путь

фибы и EhLib устанавливаются через раз... постоянно ругаясь на этот шедулер... я уже замучался
Автор: DmitryKz
Дата сообщения: 11.03.2009 00:20

Цитата:
Скопируйте dclcxSchedulerD12.bpl в system32

Может лучше ее копировать туда, где все bpl скомплилированные находятся All Users\Documents\RAD Studio\6.0\Bpl? Я так делаю. В путях не надо ничего прописывать, а в system32 конечно будет видна, раз этот путь в переменных окружения находится. Но зачем системную директорию засорять, объясните???

Добавлено:
X11
Если эти Девы из сборки feandy, то да, присутствует такой глюк, я сделал как выше написал - нашел эту bpl в директории, где девы установились и скопировал в вышеуказанную папку.

Цитата:
В переменную Path (если нет то создать) добавить через разделитель ";" путь к dclcxSchedulerD12.bpl
И что ж теперь - к каждому файлу, который среда не видит, пути прописывать?
Автор: Andrey128
Дата сообщения: 11.03.2009 06:40
vladman

Цитата:
1. по правому клику команда *Переименовать*;

Спасибо, попробую.

DmitryKz

Цитата:
И что ж теперь - к каждому файлу, который среда не видит, пути прописывать?

И что ж теперь - каждый файл, который среда не видит, копировать?
Автор: DmitryKz
Дата сообщения: 11.03.2009 06:43
Ага, это гораздо легче, имхо Тем более, что в путях оно и так прописано: $(BDSCOMMONDIR)\Bpl
Автор: X11
Дата сообщения: 11.03.2009 08:51

Цитата:
И что ж теперь - к каждому файлу, который среда не видит, пути прописывать?

Дык, по идее, все bpl лежат в одной папке, к которой прописан путь, почему только на шедулер ругается. Кстати, в D2007 такая же лажа с шедулером. Уже сравнительно давно. Было время, что шедулер вообще я не устанавливал.

Добавлено:

Цитата:
Ага, это гораздо легче, имхо Тем более, что в путях оно и так прописано: $(BDSCOMMONDIR)\Bpl

так bpl-ки лежа же в папке
C:\Program Files\Developer Express Inc\Library\ВерсияДельфи
к ней путь-то и прописан.
Автор: Meister Floh
Дата сообщения: 11.03.2009 09:43
DmitryKz
Дело все в том, что даже если туда (в систем32) вы сами ручками бэпээльки не пишете, они при установке частенько пишутся туда сами.. Проверял.. Так что ничего глюкавого не будет еси их туда вкинуть руками.. Просто помнить, что их туда надо установить (или удалить)..
Автор: Andrey128
Дата сообщения: 11.03.2009 10:55
Meister Floh

Цитата:
Просто помнить, что их туда надо установить (или удалить)..

Вот именно помнить, а это человеческий фактор.
Автор: Meister Floh
Дата сообщения: 11.03.2009 11:14
Andrey128
А что делать.. Чтобы кодить - много чего помнить нужно! Это так конечно офтоп.. А по поводу инсталлирования компонентов - просто нужно знать факт, что многие дизайн-тайм компоненты требуют своего присутствия не только в стандартном пути, но и в систем32.. Если мне не изменяет память, то например к числу таких компонентов относится фастрепорт.
Автор: brookson
Дата сообщения: 11.03.2009 17:03
Meister Floh
я например от фастрепорта ничего в system или system32 не копирую. как вариант - после установки нового компонента в делфи добавляю путь к библиотекам (неважно, где они лежат). так у меня и девки тоже. потом в любом проекте всё видится.
Автор: Meister Floh
Дата сообщения: 11.03.2009 21:07
brookson
А посмотрите в папке систем32.. Неужели нет ни одного *.бпл ?
Автор: brookson
Дата сообщения: 12.03.2009 10:03
нет. чесслово!
Автор: Meister Floh
Дата сообщения: 12.03.2009 12:03
brookson
Стрянно.. у меня под вистой они туда идут караваном, без моего ведома
Автор: X11
Дата сообщения: 12.03.2009 12:48

Цитата:
А посмотрите в папке систем32.. Неужели нет ни одного *.бпл ?

А у меня аж 217. И шедулер там есть.
Автор: Meister Floh
Дата сообщения: 12.03.2009 13:03
X11
Тогда получается, что шедулера у тебя нет вот тут - $(BDSCOMMONDIR)\BPL
Автор: f3ka
Дата сообщения: 12.03.2009 13:42

Цитата:
X11
Тогда получается, что шедулера у тебя нет вот тут - $(BDSCOMMONDIR)\BPL

да этот вопрос обсуждался и не раз... надо ложить bpl от Девок в $(BDSCOMMONDIR)\BPL
Feandy обещал (давно, по-моему еще с версии 37) сделать чтоб файлы туда сами ложились, но видать не сделал...
Автор: X11
Дата сообщения: 12.03.2009 14:39
а зачем bpl раскладывать в три разных папки О_о
Автор: f3ka
Дата сообщения: 12.03.2009 14:47
X11
ну если бы все таки складывались бы девки не в DevExp/Library а например $(BDSCOMMONDIR)\BPL, то было бы 2 папки... ну а в system32 наверно ложаться некоторые bpl потому что эта папка точно прописана в PATH и значит там точно можно что нибудь найти...
Автор: korobovmax
Дата сообщения: 12.03.2009 16:03
Есть 2+ небольших бара, которые генерятся в рантайме при открытие формы.
Стоит задача подвинуть их так, чтобы они оказались на одной строке.

Попробывал пример из KB:
"
var
I, J, Offset: Integer;
DockRow: TdxDockRow;
begin
with BarManager do
begin
LockUpdate := True;

for J := 0 to Bars.DockControls[dsTop].RowList.Count - 1 do
begin
DockRow := TdxDockRow(Bars.DockControls[dsTop].RowList[J]);
Offset := 0;
for I := 0 to DockRow.ColList.Count - 1 do
with TdxDockCol(DockRow.ColList[I]) do
begin
Pos := Point(Offset, Pos.Y);
Inc(Offset, BarControl.Width);
end;
end;

LockUpdate := False;
end;
end;
"

Не работает.
Есть идеи?
Автор: afiget
Дата сообщения: 12.03.2009 18:40
korobovmax
Свойство OneOnRow?
Автор: Meister Floh
Дата сообщения: 12.03.2009 19:48
f3ka
Я думаю даже не поэтому.. В большинстве компонентов вцл, если не прописано явно, сначала просматривается папка систем32..
Автор: korobovmax
Дата сообщения: 12.03.2009 22:18
afiget, точно!
Значение по умолчанию - True. Теперь принудительно снимаю - все замечательно.
Спасибо за наводку.
Автор: X11
Дата сообщения: 13.03.2009 00:30
cxGrid v42
В гриде три TcxGridDBTableView. Два привязано к первому в режиме мастер-деталь.
Почему-то детальные гриды выводили только по одной записи. Хотя в детальных таблицах было по 2-3, например.
Чёрт меня дёрнул установить свойство DetailInSQLMode в True у одного из детальных TcxGridDBTableView. Теперь вообще нет записей. Мало того. Я ставлю DetailInSQLMode в False, кликаю по другому компоненту, потом обратно на этот детальный TcxGridDBTableView и..... свойство DetailInSQLMode опять True, что я только не делал, и сохранялся пересохранялся. DetailInSQLMode всё время возвращается True.... ((

Добавлено:
Перегрузил проект. Вроде всё ок. Больше не беде рисковать. )))
Автор: clear2121
Дата сообщения: 13.03.2009 12:08
Hi!
Такая петрушка. Пишу на C++ Builder 2007 под Vista. Пробую PNG картинку положить на кнопку. Выбирается, но потом выходит ошибка. В ХР всё нормально. Что можно придумать? СПАСИБО!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081

Предыдущая тема: Delphi: tcp клиент в потоке


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