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

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

Автор: linker_2009
Дата сообщения: 14.07.2010 13:05
[b]Man_Without_Face[/b]
[q]Вопрос поднимался как загрузить скины в мою DLL. Здесь же уже готовая DLL со скинами. Я так понимаю она грузится как ран-тайм пакеты!?[/q]
По вашему сообщению я вижу что ничего не изменилось, т.е. у вас в приложений скины грузятся, а на формы из DLL нет. Библиотека от Ziltoid позволяет использовать скины из вне, а не тоскать их за приложением, но не более того.
Автор: Abdulatipoff
Дата сообщения: 15.07.2010 23:02
Коллеги, еще раз здравствуйте.
Обращение в ветку "Коммерческие компоненты ...", по совету CAD_tester, было не очень удачной идеей... Возвращаю вопрос туда, где ему и следует быть.

Помогите пожалуйста справиться с ситуацией!

Под RAD STUDIO 2010 инсталлированы (автоинсталлятором) DevExpress x50 VCL.
Работаю под Билдером. Наблюдаю такую картину: под Дельфи установились все компоненты, а под Билдером - некоторые отсутствуют. К примеру, в палитре ExpressBars не нашел TdxBarManager, TdxBarPopUp, TdxStatusBar... И вероятнее всего, это еще не весь список отсутствующих компонент.

Автоинсталл брал отсюда: [_http://rutracker.org/forum/viewtopic.php?t=2742350], весит он 23,2 МБ (24 416 844 байт). Хотел было и с местного обменника взять, но не достучался еще до робота.

Ставить пробовал по разному. Изначально у меня был только Билдер 2010, потом поставил полную студию, архитект. И в том, и в другом варианте - итог один, скинов нет, некоторые компоненты под Билдером отсутствуют. И кстати, только после установки полной студии (т.е. Дельфи & Билдер) и очередной переинсталляции девок я увидел, что пакет все же ставится полностью, но под Дельфи , а под Билдер - полный косяк...
Пробовал поставить вручную, по инструкции внутри пакета - тоже облом, просто напросто нет нужных файлов для Билдера. Их наверное только предстоит генерить, а как что и где... хз... дока про это умалчивает.

Очень расстраивает туча ошибок линковщика. Понемногу я их исправляю, находя неверные ссылки в исходниках. Но удручает понимание того, что я сам еще не великий дока в студии, а след-но очередная порция коррекции исходников девок может привести их в негодность, и все начинать сначала... За 3 недели послерабочих вечеров уже изрядно надоело...

Коллеги, помогите пожалуйста мне установить DevExpress 50 под Билдер 2010, а если 51е качественнее - то лучше сразу их! , пока я еще не совсем утратил веру в этот бренд ))))))))))
Автор: linker_2009
Дата сообщения: 16.07.2010 00:15
Abdulatipoff
Вам наверное все таки сюда, тут как бы ньюансы кодинга с ипользованием девок обсуждаются.
Автор: VitaliM
Дата сообщения: 16.07.2010 00:48
linker_2009
Да хватит вам гонять человека по топикам. Сборка пакетов девок - это вам что, не кодинг? Лучше бы помогли, если владеете всеми нюансами.
Автор: DiabloR
Дата сообщения: 16.07.2010 04:30
Всем доброе время суток. Хочу сделать фичу к компоненту, (серая подсказка на поле ввода, если в поле нет текста), на TEdit работает как положено, на TcxTextEdit не работает, текст выводится, но его, что то загораживает, а что не имею понятия.



Добавлено:
Всем доброе время суток. Хочу сделать фичу к компоненту, (серая подсказка на поле ввода, если в поле нет текста, примерно как в Opera), на TEdit работает как положено, на TcxTextEdit не работает, текст рисуется, но его, что то загораживает, а что не имею понятия.

    //Обычный Edit
    TControlCanvas *C = new TControlCanvas;
    C->Control = Edit1;
    C->Font->Color = clGray;
    C->Font->Style << fsItalic; //Почему-то не работает.
    C->TextOutA(Edit1->ClientWidth - C->TextWidth("Пароль"),0,"Пароль");
    delete C;

    //Не обычный Edit, cxTextEdit
    cxTextEdit1->Canvas->Canvas->Font->Color = clRed;
    cxTextEdit1->Canvas->Canvas->TextOutA(0,0, "Пароль");

http://evildiablor.narod.ru/pic.bmp
У кого нибуть есть соображения или варианты?
Автор: Slimper
Дата сообщения: 16.07.2010 07:28
CAD_tester

Цитата:
Можно ли как то отслеживать и поддерживать активность всей ветки, в которой находишься?


А событие OnGetNodeImageIndex не поможет?

Простейший обработчик ниже. У распахнутых нод одна икона, у свернутых другая.
Так же я думаю можно проверять и активность. По цепочке вверх если нода focused.

procedure Tfrm_Tasks.lst1GetNodeImageIndex(
Sender: TcxCustomTreeList; ANode: TcxTreeListNode;
AIndexType: TcxTreeListImageIndexType; var AIndex: TImageIndex);
begin
if ANode <> nil then
begin
if ANode.Expanded then
begin
ANode.ImageIndex := 1;
ANode.StateIndex := 1;
ANode.SelectedIndex := 1;
end else
begin
ANode.ImageIndex := 0;
ANode.StateIndex := 0;
ANode.SelectedIndex := 0;
end;
end;
end;
Автор: vladman
Дата сообщения: 16.07.2010 10:34
Abdulatipoff
Как ваша вера в бренд может основываться на непонятного происхождения автоинстоллере...
Если у вас есть все исходные коды, найдите порядок их установки и установите их вручную. Это явно займет меньше чем 3 недели послерабочих вечеров.

Добавлено:
DiabloR

Цитата:
серая подсказка на поле ввода, если в поле нет текста

В какой версии билдера это пытаетесь сделать?
Автор: DiabloR
Дата сообщения: 17.07.2010 01:57
vladman

RAD Studio 2010, DevExpress V48
Автор: vladman
Дата сообщения: 17.07.2010 13:26
DiabloR

Цитата:
RAD Studio 2010, DevExpress V48

Начиная с RAD Studio 2009 у TEdit появилось новое свойство TextHint, установив которое вы и решите вашу проблему. Это также в полной мере применимо и к TcxTextEdit.

TcxCustomTextEdit.TextHint
A hint or message to be displayed when the editor's value is unassigned.
This property is available only in Delphi 2009/C++ Builder 2009 and corresponds to the TEdit.TextHint or TComboBox.TextHint property.
Автор: 258268258
Дата сообщения: 17.07.2010 18:14
Заметил интересную особенность:

Если форма наследует класс TdxRibbonForm, то при создании формы перед FormCreate вызываются события Ribbon'а, если таковы описаны.

Я долго думал где ошибка с следующем коде:

Код: if Ribbon.ActiveTab.Index<2 then MainPageControl.ActivePageIndex:=Ribbon.ActiveTab.Index;
Автор: Abdulatipoff
Дата сообщения: 17.07.2010 18:39
vladman

Цитата:
Если у вас есть все исходные коды, найдите порядок их установки и установите их вручную. Это явно займет меньше чем 3 недели послерабочих вечеров.


Понимаете, какое тут дело, уважаемый...
Я уже несколько раз и в нескольких вариациях (сиречь по разным инструкциям) пытался вручную установить DevExpress 50. И каждый раз это заканчивалось тем, что обязательно найдется файл, который нужен для С++ Builder 2010 (инсталлирую я именно под него), а его и нет, родимого. И нет не так, что типа есть, но под другим расширением, его нет совсем...

Вы уж поверьте, что я не просто от лени сюда пишу, реально перепробовал великое множество способов, но не могу справиться.
Если можете - помогите советом, где взять нормальный инсталлятор, который под билдер все корректно поставит. Буду очень признателен!
Автор: vladman
Дата сообщения: 18.07.2010 01:09
Abdulatipoff

Цитата:
Понимаете, какое тут дело, уважаемый...

Да, понимаю, что же тут непонятного. Вывод прост - у вас неполный набор исходников от непонятного автора.
Нормальный инстоллер, понятное дело, есть у производителя, либо Feandy. Инстоллер Feandy спрашивайте в той ветке откуда вас отправили сюда ). Но. У вас пока нет достаточного количества постов для его получения. Подробности, читайте в соответствующей ветке.
Автор: Abdulatipoff
Дата сообщения: 18.07.2010 14:09
vladman
Попробовал еще раз переустановить вручную.
Ошибок 0, но и результат аналогичен. Компоненты TdxBarManager, TdxBarPopUp, TdxStatusBar (и наверное еще что-нибудь) под Билдером не появились. Это говорит однозначно о том, что даже проекты в исходниках сделаны неправильно.
Коллеги, дайте плиз нормальный инсталлер девок!!! Понимаю, что постов у меня маловато, но правила на то и существуют, чтоб из них были какие-то исключения!
Ну не могу я так больше, блин...
Автор: regkz
Дата сообщения: 18.07.2010 14:34

Цитата:
Понимаю, что постов у меня маловато, но правила на то и существуют, чтоб из них были какие-то исключения!

к feandy обратись, его поделка, он и поможет с инсталлером
Автор: Abdulatipoff
Дата сообщения: 18.07.2010 15:52
regkz
Релиз вероятнее всего от DarkRaptor. Я уже отписал со скриншотом в другой ветке:
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=8529&start=2620#lt
Автор: regkz
Дата сообщения: 18.07.2010 16:55
Abdulatipoff
там и ответил
Автор: CAD_tester
Дата сообщения: 19.07.2010 07:12
Abdulatipoff
Цитата:
Понимаете, какое тут дело...
Я уже несколько раз и в нескольких вариациях пытался вручную установить DevExpress 50.
Может поможет, может нет мой ответ!
Я когда-то тоже наткнулся на проблему порядка установки компонент и решил это следующим образом...
- установил автоинсталером 4-той версии,
- не закрывая Memo окна перед компилянием скопировал порядок установки компонент,
и теперь можно в ручную ставить эти компоненты.

Единственное тебе я так понял всё это надо для Билдера, а я это делал для Делфей.
Автор: fortezza
Дата сообщения: 19.07.2010 07:50
проблема какая-то с фильтром, не могу понять что вызывает ошибку.
Поставила первой строкой в гриде - фильтр-строку, когда набираю в ней текст - записи фильтруются, но стоит перевести фокус - пишет "Could not convert variant of type (Null) into type (Date)"
Автор: sldaac
Дата сообщения: 19.07.2010 10:40
fortezza

Цитата:
проблема какая-то с фильтром, не могу понять что вызывает ошибку.
Поставила первой строкой в гриде - фильтр-строку, когда набираю в ней текст - записи фильтруются, но стоит перевести фокус - пишет "Could not convert variant of type (Null) into type (Date)"

Не хочеш посмотреть простым гридом, или каким нибудь клиентом что в самой таблице творится с данными. Я еще лучше, тип поля которое фильтруется и опции в гриде покажи.
Автор: Abdulatipoff
Дата сообщения: 21.07.2010 01:14
CAD_tester

Цитата:
- не закрывая Memo окна перед компилянием скопировал порядок установки компонент,
и теперь можно в ручную ставить эти компоненты.


Не помогло. Не прописано что-то в проектах, отвечающих за создание билдеровских модулей. Дайте совет, где накопать нормальный инсталл?
Автор: Erenor
Дата сообщения: 25.07.2010 12:56
Man_Without_Face

Цитата:
Доброго времени суток. Есть DLL с формами, т.к. DLL плохо взаимодействует с VCL, скины при загрузке формы не загружаются (DevExpress v48). Скачал в шапке топика DLL со скинами из библиотеки dxSkins, автор Ziltoid. На компонентах выставил UserSkin, на форм шоу повесил:
skinhandle.LoadSkinLibrary;
skinhandle.LoadSkin('DARKSIDE');
На форме не из DLL все загружается нормально, в DLL нет. Вопрос: может я что-то еще должен добавить для загрузки или можно все это как-то обойти?
P.s. компиляция с рантайм пакетами мне не подходит.


Можно и на форму из Dll повесить скин, но грузить ее придется явно, так как если грузить статично то при следующем открытии ее она будет уже без скина и надо перезапускать приложение. Поетому тока явная загрузка.
Делай раз:
При создании формы
dxInitializeGDIPlus;!!!!!!!!!!!!!!!!!!!!!--->Инициализация GDI+
fmForm:= TfmForm.Create(Application);--->Создание формы
Делай два:
Код в библиотеке
{$R *.res}
Procedure UnloadDll (Reason:Integer);
begin
if Reason=DLL_PROCESS_DETACH then
dxFinalizeGDIPlus;
end;
Exports XXXXXXXXXX(Ваши экспортируемые функции, Процедуры)

begin
DLLProc := @UnloadDll;
end.
Ну вот както примерно так, проверял на D2007 & DevExpress 49
Автор: CommonJet
Дата сообщения: 25.07.2010 17:50
Добрый день.
Возник один вопрос по cxTreeList. Точнее, по евенту NodeCheckChanged.
Проверяя состояния чекбоксов формирую SQL-запрос и и вызываю процедуру. Т.е. при клике на любой чекбокс необходимо ОДИН раз выполнить процедуру. Для этого использую NodeCheckChanged.
Вот тут и затык выходит. Если, например, кликнуть на чекбокс у родителя (см. скрин) то событие выполнится столько раз, сколько потомков у этого родителя. В данном случае я получаю 4 события и соответственно SQL-запрос выполняется последовательно 4 раза.
В идеале необходимо как-то отследить последнее событие OnNodeCheckChanged и после него выполнить SQL-запрос.

Прошерстил help, сайт, примеры кодов, но выхода из данной конкретной ситуации не нашел.
Буду очень благодарен за любую помощь и совет.

http://s40.radikal.ru/i089/1007/a2/445419a47900.jpg
Автор: kvazars
Дата сообщения: 25.07.2010 18:34
Подскажите пожалуйста!
не нашел здесь! как в гриде сделать кнопку с выпадающим списком (look), а также кнопку с многоточием?заранее спасибо
Автор: marser
Дата сообщения: 25.07.2010 19:52
kvazars

Цитата:
как в гриде сделать кнопку с выпадающим списком (look), а также кнопку с многоточием?

Выбрать в свойстве cxGridColumn.Properties: LookupComboBox, ButtonEdit.
cxGridColumn.Properties.Buttons.Add - добавляет в колонку кнопку TcxEditButton.
Автор: Erenor
Дата сообщения: 25.07.2010 20:19
На форуме пробегал както портированный скин Office2010Black, там был косяк с отображением данных в cxGrid(данные белым цветом на белом фоне), но это я поборол, так как там прилагался проект SkinEditora. Есть в DevExpress еще скин Pumpkin, там мне нравится как отображается Grid, но ненравится "черепа и кости" в скролах. Тоесть мож у кого есть проект скина Pumpkin для SkinEditor, поделитесь пожалуйста.
Автор: TechnoDreamer
Дата сообщения: 25.07.2010 23:53
Erenor, начиная с 50 девок для всех скинов идут .SKINRES файлы...

Добавлено:
У меня такой вопрос, а в cxGrid нету комбика с древовидным списком? Т.е. мне надо в столбце выбирать значение их выподающего дерева, как это выглядит в ShellComboBox. Реально ли такое?
Автор: Erenor
Дата сообщения: 26.07.2010 01:09

Цитата:
Erenor, начиная с 50 девок для всех скинов идут .SKINRES файлы...


Понял, спс.
Автор: kvazars
Дата сообщения: 26.07.2010 05:49
marser, thx a lot
Автор: marser
Дата сообщения: 26.07.2010 14:12
TechnoDreamer

Цитата:
У меня такой вопрос, а в cxGrid нету комбика с древовидным списком? Т.е. мне надо в столбце выбирать значение их выподающего дерева, как это выглядит в ShellComboBox. Реально ли такое?

Я использовал LookupComboBox колонку. В обработчике события OnInitPopup делал выпадающий Grid невидимым и на его месте показывал свой TcxDBTreeList.
Автор: linker_2009
Дата сообщения: 26.07.2010 14:39
marser
))) там спецально есть PopupEdit колонка для таких целей

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

Предыдущая тема: Помогите пожалуйста с блокировкой клавиатуры и мышки


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