Ребят а многие сталкиваются с проблемой функционирования NavBar v45 в DELPHI 2009 ?
» Использование DevExpress (часть 3)
vladman
идея хорошая, но есть недостаток, что придется в каждом приложении где то в рантайме задавать этот RepositoryItem для колонок, а хотелось бы руссифицировать навсегда... ну не пишу я программы с английским фейсом... поэтому и хочется найти в исходниках где задаются эти строки, чтоб поправить и пересобрать компоненты...
идея хорошая, но есть недостаток, что придется в каждом приложении где то в рантайме задавать этот RepositoryItem для колонок, а хотелось бы руссифицировать навсегда... ну не пишу я программы с английским фейсом... поэтому и хочется найти в исходниках где задаются эти строки, чтоб поправить и пересобрать компоненты...
infomSB
Что за проблема? Мой телепатический шар ничего не выдает.
Что за проблема? Мой телепатический шар ничего не выдает.
f3ka
Цитата:
Ну вы же все равно указываете для этих колонок Properties = CheckBox.
Но конечно же есть способ и "раз и навсегда".
Нужно переопределить константы @cxSEditCheckBoxChecked и @cxSEditCheckBoxUnchecked.
И эти константы X11 переопределял. Но дело в том, что их нужно переопределить до создания редакторов, т.е. до создания формы на которой эти редакторы расположены.
Например так:
Код: begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
cxSetResourceString(@cxSEditCheckBoxChecked,'Да');
cxSetResourceString(@cxSEditCheckBoxUnchecked,'Нет');
Application.CreateForm(TForm71, Form71);
Application.Run;
end.
Цитата:
есть недостаток, что придется в каждом приложении где то в рантайме задавать этот RepositoryItem для колонок
Ну вы же все равно указываете для этих колонок Properties = CheckBox.
Но конечно же есть способ и "раз и навсегда".
Нужно переопределить константы @cxSEditCheckBoxChecked и @cxSEditCheckBoxUnchecked.
И эти константы X11 переопределял. Но дело в том, что их нужно переопределить до создания редакторов, т.е. до создания формы на которой эти редакторы расположены.
Например так:
Код: begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
cxSetResourceString(@cxSEditCheckBoxChecked,'Да');
cxSetResourceString(@cxSEditCheckBoxUnchecked,'Нет');
Application.CreateForm(TForm71, Form71);
Application.Run;
end.
Цитата:
Что за проблема? Мой телепатический шар ничего не выдает.
Если у вас приведенные версии компонентов и вы с ними не сталкивались, значит они локальны- что довольно плохо, но тем не менее, проблемы следующего характера:
Я переезжал с Delphi 2006, использовал те же компоненты, теперь все группы NavBar отображаются в виде невизуальных компонентов на форме, причем все настраивается, если же эти невизуальные компоненты удалить, то и удаляется соответствующая группа. Выделить группу при этом на самом навбаре невозможно, т.е. при шелчке на зеленый квадратик ничего не происходит. Так же невозможно попасть в свойства самого навбара, так как нет соответствующего пункта меню, а при двойном клике создается евент NavBarCustomDrawEvents.
vladman
спасибо за разъяснения когда необходимо переопределять константы...
спасибо за разъяснения когда необходимо переопределять константы...
Цитата:
Все намного проще. Установите в свойствах DisplayChecked и DisplayUnChecked свойства Properties вашего CheckBox необходимые вам значение (Да/Нет соответственно) и это решит проблему.
Как видите - проблему не решает
(снимок из MS Excel 2007)
Вот в диспетчере свойств изменил
Добавлено:
Напомню, что грид не привязан ни к чему. Dev43
X11
Цитата:
Я бы не был столь категоричен в
Цитата:
Проверено на Dev46 и грид = TcxGridTableView.
Может быть фраза
Цитата:
Давайте пример, может он будет более нагляден для выявления проблемы.
Цитата:
Как видите - проблему не решает
Я бы не был столь категоричен в
Цитата:
это решит проблемуесли бы не проверил это.
Проверено на Dev46 и грид = TcxGridTableView.
Может быть фраза
Цитата:
грид не привязан ни к чемунесет некий другой смысл, отличный от TcxGridTableView?
Давайте пример, может он будет более нагляден для выявления проблемы.
Уважаемые Гуру!
Начал играться с компонентами DevExpress, мне они очень понравились, но вот наткнулся на какую проблему! Пытался заполнить Грид через обычный Table и не нашёл, как это делается , все выходные курил Help!
Ранее использовались компоненты EhLib-овские. Там решали эту проблему следующим образом был такой КОМПОНЕНТ MemTable он достаточно наворочен.
При использовании вместе с dbGridEh основное приемущество - возможность отображения в виде дерева. Еще встроенный фильтр в dbGridEh работает сосем как в Excel Автофильтр да и заточен он под него и работает все само собой.
При этом есть возможность делать две и более MemTable с одним и тем же набором данных(в памяти), но имеющими разную сортировку и фильтрцию. Ну и спец компоненты для выборки из DataSet в MemTable.
И даже можно в DesignTime заполнить таблицу а в Runtime при открытии она сама прочитается из ресурсов. То есть уже будет заполнена.
Мы сами докрутили этот компонент и научили его еще работать с XML данными!
Внимание вопрос!!! Подскажите плиз, существует ли что либо подобное у Dev-овских компонент. так как свои компоненты между собой всегда настроены на оптимальную работу!
Заранее огромное спасибо откликнувшимся!!! Самое главное чтоб компонент работал в ПАМЯТИ, а не писал куда то данные, а потом считывал(т.к. это очень сильно тормозит прогу) и мог работать с XML классами
Кстати Dev-ки поставил последние версии 4.7 если это критично!
Начал играться с компонентами DevExpress, мне они очень понравились, но вот наткнулся на какую проблему! Пытался заполнить Грид через обычный Table и не нашёл, как это делается , все выходные курил Help!
Ранее использовались компоненты EhLib-овские. Там решали эту проблему следующим образом был такой КОМПОНЕНТ MemTable он достаточно наворочен.
При использовании вместе с dbGridEh основное приемущество - возможность отображения в виде дерева. Еще встроенный фильтр в dbGridEh работает сосем как в Excel Автофильтр да и заточен он под него и работает все само собой.
При этом есть возможность делать две и более MemTable с одним и тем же набором данных(в памяти), но имеющими разную сортировку и фильтрцию. Ну и спец компоненты для выборки из DataSet в MemTable.
И даже можно в DesignTime заполнить таблицу а в Runtime при открытии она сама прочитается из ресурсов. То есть уже будет заполнена.
Мы сами докрутили этот компонент и научили его еще работать с XML данными!
Внимание вопрос!!! Подскажите плиз, существует ли что либо подобное у Dev-овских компонент. так как свои компоненты между собой всегда настроены на оптимальную работу!
Заранее огромное спасибо откликнувшимся!!! Самое главное чтоб компонент работал в ПАМЯТИ, а не писал куда то данные, а потом считывал(т.к. это очень сильно тормозит прогу) и мог работать с XML классами
Кстати Dev-ки поставил последние версии 4.7 если это критично!
CAD_tester
конечно же DevExpress реализовал свой DataSet In Memory - TdxMemData называется...
Но в TcxGridTableView (не DB) реализован так же DataController, который хранит данные в памяти... вот еще покурите Help к DataController'у и к TdxMemData... вроде как TdxMemData
умеет работать с XML
конечно же DevExpress реализовал свой DataSet In Memory - TdxMemData называется...
Но в TcxGridTableView (не DB) реализован так же DataController, который хранит данные в памяти... вот еще покурите Help к DataController'у и к TdxMemData... вроде как TdxMemData
умеет работать с XML
TdxMemData быстрей работает эхлибовской мемдаты, но необладает всеми этими "крутыми" фишками.
Так а почему нельзя использовать эту эхлибовскую мем дату и
TcxGrid.TcxGridDBTableView ?
ps: где-то на просторах рунета видел сорцы датаконтроллера для эхлибовской мемдаты.
с ним возможно мемдата будет работать на полную..
Добавлено:
Цитата:
У меня подобный глюк с появлением групп в виде невизуальных компонент на форме возникал и на более старых версиях девов на D2007. Причем после переоткрытия проекта все становилось норм. В D2010 пока такого не возникало.
Так а почему нельзя использовать эту эхлибовскую мем дату и
TcxGrid.TcxGridDBTableView ?
ps: где-то на просторах рунета видел сорцы датаконтроллера для эхлибовской мемдаты.
с ним возможно мемдата будет работать на полную..
Добавлено:
Цитата:
Я переезжал с Delphi 2006, использовал те же компоненты, теперь все группы NavBar отображаются в виде невизуальных компонентов на форме, причем все настраивается, если же эти невизуальные компоненты удалить, то и удаляется соответствующая группа.
У меня подобный глюк с появлением групп в виде невизуальных компонент на форме возникал и на более старых версиях девов на D2007. Причем после переоткрытия проекта все становилось норм. В D2010 пока такого не возникало.
Dev47. Вопрос по dxComponentPrinter.
Есть cxGrid, привязанный к dxComponentPrinter (dxComponentPrinter1Link: TdxGridReportLink)
Подскажите, как-то можно средствами девок сохранять настройки этого самого dxComponentPrinter1Link`? Если да, то как?
Есть cxGrid, привязанный к dxComponentPrinter (dxComponentPrinter1Link: TdxGridReportLink)
Подскажите, как-то можно средствами девок сохранять настройки этого самого dxComponentPrinter1Link`? Если да, то как?
X11
Цитата:
TcxPropertiesStore ?
Цитата:
Подскажите, как-то можно средствами девок сохранять настройки этого самого dxComponentPrinter1Link`?
TcxPropertiesStore ?
Тогда уж лучше с помощью PropStorageEh (EhLib).А другим способом?
Добавлено:
Использовал Dev43, теперь поставил Dev47.
Подскажите, как быть с получением ключевого значения дерева (cxDBTreeList)?
Hаньше так получал
Код: iType := dbTreeType.DataController.GetKeyFieldsValues;
Добавлено:
Использовал Dev43, теперь поставил Dev47.
Подскажите, как быть с получением ключевого значения дерева (cxDBTreeList)?
Hаньше так получал
Код: iType := dbTreeType.DataController.GetKeyFieldsValues;
X11
Цитата:
9. Breaking Change – Now, the TcxDBTreeListDataController inherits from the TcxDataTreeListDataController. The former TcxDBTreeListDataController's parent – the TcxDBDataController – is no longer in the data controller inheritance hierarchy. Refer to the TcxDBDataController description to learn about its members that are now not the part of the data-aware tree list's data controller API.
Подробнее о всех Breaking Changes: ms-help://borland.bds5/ExpressQuantumTreeList5.BDS5/ExpressQuantumTreeList5/CD_Known_Issues_and_Important_Changes_List.htm
Используйте TcxDBTreeListNode.KeyValue - Specifies the node's unique identifier.
ms-help://borland.bds5/ExpressQuantumTreeList5.BDS5/ExpressQuantumTreeList5/IDH_TcxDBTreeListNode_KeyValue.htm
Цитата:
Подскажите, как быть с получением ключевого значения дерева (cxDBTreeList)?
Hаньше так получал
Код:
iType := dbTreeType.DataController.GetKeyFieldsValues;
А теперь компилятор ругается на GetKeyFieldsValues
E2003 Undeclared identifier: 'GetKeyFieldsValues'
9. Breaking Change – Now, the TcxDBTreeListDataController inherits from the TcxDataTreeListDataController. The former TcxDBTreeListDataController's parent – the TcxDBDataController – is no longer in the data controller inheritance hierarchy. Refer to the TcxDBDataController description to learn about its members that are now not the part of the data-aware tree list's data controller API.
Подробнее о всех Breaking Changes: ms-help://borland.bds5/ExpressQuantumTreeList5.BDS5/ExpressQuantumTreeList5/CD_Known_Issues_and_Important_Changes_List.htm
Используйте TcxDBTreeListNode.KeyValue - Specifies the node's unique identifier.
ms-help://borland.bds5/ExpressQuantumTreeList5.BDS5/ExpressQuantumTreeList5/IDH_TcxDBTreeListNode_KeyValue.htm
Цитата:
Подробнее о всех Breaking Changes: ms-help://borland.bds5/ExpressQuantumTreeList5.BDS5/ExpressQuantumTreeList5/CD_Known_Issues_and_Important_Changes_List.htm
открыл справку в IDE (D2007) вставил ссылку....
Цитата:
Невозможно отобразить страницу
Сервер не найден
Добавлено:
Цитата:
Используйте TcxDBTreeListNode.KeyValue - Specifies the node's unique identifier.
Да, до этого я уже допёр (из справки вычитал)
Код получается очень длинный
Код: dbTreeTypes.FocusedNode as TcxDBTreeListNode).KeyValue
X11
Цитата:
Для D2007, если не ошибаюсь, в ссылке надо заменить bds5 на bds3.
Цитата:
Невозможно отобразить страницу
Сервер не найден
Для D2007, если не ошибаюсь, в ссылке надо заменить bds5 на bds3.
X11
Цитата:
Скорее всего у вас не установлен help для ExpressQuantumTreeList5
Та же информация доступна в разделе DevExpress Technologies - Version History,
Breaking Changes,VCL Product Line - Build 44
data man
Цитата:
Нет, как раз это ссылка для D2007. bds3 - это D2005
Цитата:
открыл справку в IDE (D2007) вставил ссылку....
Скорее всего у вас не установлен help для ExpressQuantumTreeList5
Та же информация доступна в разделе DevExpress Technologies - Version History,
Breaking Changes,VCL Product Line - Build 44
data man
Цитата:
Для D2007, если не ошибаюсь, в ссылке надо заменить bds5 на bds3.
Нет, как раз это ссылка для D2007. bds3 - это D2005
f3ka
Цитата:
спасибо! Лишь бы здоровье себе не испортить этим курением! Побыстрей бы освоить !
onewin
Цитата:
Я об этом же уже подумал, просто думал с родными своими компонентами скорость должна быть выше!
Цитата:
вот еще покурите Help к DataController'у и к TdxMemData...
спасибо! Лишь бы здоровье себе не испортить этим курением! Побыстрей бы освоить !
onewin
Цитата:
Так а почему нельзя использовать эту эхлибовскую мем дату и
TcxGrid.TcxGridDBTableView ?
Я об этом же уже подумал, просто думал с родными своими компонентами скорость должна быть выше!
Цитата:
спасибо! Лишь бы здоровье себе не испортить этим курением! Побыстрей бы освоить
Цитата:
Я об этом же уже подумал, просто думал с родными своими компонентами скорость должна быть выше!
попробуйте TkbmMemTable, довольно неплохая компонента
sldaac
Сам пользуюсь TkbmMemTable. стоит ли отходить в сторону MemTable от девок?
Сам пользуюсь TkbmMemTable. стоит ли отходить в сторону MemTable от девок?
Cryogen2003
Цитата:
смысла не вижу.
Была у меня какая-то проблема TkbmMemTable , решил попробовать MemTable от девок, затем появилось немного времени, разобрался с TkbmMemTable и с тех пор никуда.
TkbmMemTable устраивает вполне.
Цитата:
Сам пользуюсь TkbmMemTable. стоит ли отходить в сторону MemTable от девок?
смысла не вижу.
Была у меня какая-то проблема TkbmMemTable , решил попробовать MemTable от девок, затем появилось немного времени, разобрался с TkbmMemTable и с тех пор никуда.
TkbmMemTable устраивает вполне.
sldaac
Ну я просто думал пощупать
А так, я пока все в свободное время переписываю некоторый код. Отказываюсь полностью от EhLib в своем основном проекте и постепенно схожу с ума
Особенно радует вычищать MemTable и DataDriver от EhLib, уже достало по полной все это
Ну я просто думал пощупать
А так, я пока все в свободное время переписываю некоторый код. Отказываюсь полностью от EhLib в своем основном проекте и постепенно схожу с ума
Особенно радует вычищать MemTable и DataDriver от EhLib, уже достало по полной все это
Cryogen2003
Цитата:
Знаеш, в одном проекте подмогли мне эти компоненты, не помню точно тонкостей, было больше года, но...... с их помощью решение было очень элегантным. Но больше нигде их не применял.... есть TkbmMemTable
Цитата:
Особенно радует вычищать MemTable и DataDriver от EhLib, уже достало по полной все это
Знаеш, в одном проекте подмогли мне эти компоненты, не помню точно тонкостей, было больше года, но...... с их помощью решение было очень элегантным. Но больше нигде их не применял.... есть TkbmMemTable
sldaac
В свое время DataDriver поставил только ради фильтрации аля Ёксель. А сейчас все тоже самое встроенно в Девовский грид с возможностями, даже большими. Так что в принципе все ок.
Кстати на вскидку не помнишь, сколько жрет памяти девовский MemTable при большом количестве записей? Просто у kbmMemTable при Perfomance установленным в Fast и количестве записей примерно тысяч 50 - расход памяти около гига, если конечно Perfomance установить в Small - памяти жрет около 100 метров, но при этом еле-еле ворочается.
Добавлено:
Кстати, как можно в девовском гриде управлять значками сортировки, но при этом не сортировать (ну то есть должно вызываться при этом какая процедура, пересоздаваться sql запрос и стало быть обновление данных из базы)?
От EhLib отказался практически везде, а тут понять не могу как сделать.
В свое время DataDriver поставил только ради фильтрации аля Ёксель. А сейчас все тоже самое встроенно в Девовский грид с возможностями, даже большими. Так что в принципе все ок.
Кстати на вскидку не помнишь, сколько жрет памяти девовский MemTable при большом количестве записей? Просто у kbmMemTable при Perfomance установленным в Fast и количестве записей примерно тысяч 50 - расход памяти около гига, если конечно Perfomance установить в Small - памяти жрет около 100 метров, но при этом еле-еле ворочается.
Добавлено:
Кстати, как можно в девовском гриде управлять значками сортировки, но при этом не сортировать (ну то есть должно вызываться при этом какая процедура, пересоздаваться sql запрос и стало быть обновление данных из базы)?
От EhLib отказался практически везде, а тут понять не могу как сделать.
Всем доброго времени суток.
Есть приложение (с TdxRibbon и ленточным статус баром), в котором подключены и работают скины и есть dll-ка которую вызывает приложение (TcxGrid и TdxBarManager). В обоих проектах включены компоненты dxSkinController. При этом в библиотеке в дизайн-тайме все красиво, показывается заданный по умолчанию скин, но в ран-тайме никакого скина и близко нет. Даже если по нажатию кнопки присваивать skinname никакой реакции. Девы местные от 09.07.09.
Если уже было обсуждение, ткните носом в ссылку пожалуйста.
Есть приложение (с TdxRibbon и ленточным статус баром), в котором подключены и работают скины и есть dll-ка которую вызывает приложение (TcxGrid и TdxBarManager). В обоих проектах включены компоненты dxSkinController. При этом в библиотеке в дизайн-тайме все красиво, показывается заданный по умолчанию скин, но в ран-тайме никакого скина и близко нет. Даже если по нажатию кнопки присваивать skinname никакой реакции. Девы местные от 09.07.09.
Если уже было обсуждение, ткните носом в ссылку пожалуйста.
Graach
Цитата:
Да, что-то похожее уже здесь обсуждалось.
Если кратко, то в вашей dll необходимо инициализировать GDI+.
Более подробное описание решения смотрите в Bug Report Details: Failed to use Skins in a DLL form
Также обратите внимание, что вам нет необходимости помещать SkinController в dll. Т.е. достаточно одного SkinController'а, помещенного в вызывающее приложение. Условия, которые необходимо при этом выполнить, также описаны в приведенной статье.
Цитата:
Если уже было обсуждение, ткните ссылку пожалуйста.
Да, что-то похожее уже здесь обсуждалось.
Если кратко, то в вашей dll необходимо инициализировать GDI+.
Более подробное описание решения смотрите в Bug Report Details: Failed to use Skins in a DLL form
Также обратите внимание, что вам нет необходимости помещать SkinController в dll. Т.е. достаточно одного SkinController'а, помещенного в вызывающее приложение. Условия, которые необходимо при этом выполнить, также описаны в приведенной статье.
TkbmMemTable давно использую
по мне так отлично работает
по мне так отлично работает
vladman
Спасибо огромное, в понедельник буду пробовать
Спасибо огромное, в понедельник буду пробовать
Дев47.
Пытаюсь в cxButton загрузить изображение 16х16 в формате PNG. Не программно, а в дизайне, в IDE. Вываливается сообщение "Invalid graphic format.". Раньше всё было в норме, в версии 43.
Это баг?
Здесь ничего не нашёл такого
http://www.devexpress.com/Support/WhatsNew/VCL/files/44.bc.xml
Добавлено:
Забыл добавить, что у меня D2007.
Пытаюсь в cxButton загрузить изображение 16х16 в формате PNG. Не программно, а в дизайне, в IDE. Вываливается сообщение "Invalid graphic format.". Раньше всё было в норме, в версии 43.
Это баг?
Здесь ничего не нашёл такого
http://www.devexpress.com/Support/WhatsNew/VCL/files/44.bc.xml
Добавлено:
Забыл добавить, что у меня D2007.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
Предыдущая тема: Delphi: tcp клиент в потоке
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.