-
Постов
26 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
TrueCrypt стал победителем дня 4 февраля 2019
TrueCrypt имел наиболее популярный контент!
Посетители профиля
1 075 просмотров профиля
Достижения TrueCrypt
-
dnekrasov отреагировал на ответ на вопрос: Обработка WM_GETMINMAXINFO
-
Привет, при вызове метода ASeries.AddXY (пример: ASeries.AddXY(ASeries.MaxXValue + 1, AValue);) происходит утечка памяти, при том довольно сильная. Есть ли какая-то возможность устранить такой недочет. Исходник чарта закрытый, найти перврпричину не удается.
-
Пробовал через стиль сделать, парентом делать слой в стиле элемента, но тогда всё содержимое при перерисовке начинает скакать между элементами.
-
Заполняю дерево, на узлах создаю фрейм (либо же любой другой объект), делаю узлам Expand и при скролировании возникает ошибка «Argument out of range», будто неправильно рассчитывается количество вложенных элементов. Как можно избавиться от такой ошибки?На узел кладу объект так: TfrFolderItem.Create(ATreeNode {owner}, ATreeNode {parent}, AFolderName); ATreeNode.Expand;
-
Хоткеи работают, но только «системные», т.е. Alt+Enter будет работать, а Shift+O — уже нет. Сначала дельфи посылает нажатие клавиш активному компоненту, а уж потом на всякие экшенлисты и т.д.
- 6 ответов
-
- ActionList
- Frame
-
(и ещё 1 )
C тегом:
-
Внимание, вопрос: на кой нужен этот уберобжект? (J/B)SON есть «искаропки», для xml есть гора разных реализаций, под разные задачи. В чем преимущество вашей реализации (кроме компиляции под кучу платформ)? Не понял фразу « Дальше я написал вокруг него километр кода, создал набор стилей и сделал динамическую загрузку стилей для списка. В список в соответствии со стилями можно добавить порядка 20 разных компонентов», через уберобжект грузятся стили для listbox?
- 19 ответов
-
С подобной байдой сталкивался при копировании кода, например, из визуалстудии. Из-за кривых переносов строк, в общем.
-
Обнаружил баг: если в ActionListUpdate делать динамическое назначение экшена на контрол, то у Application проиходит сильное раздутие коллекции FActionClientsList (с последующими тормозами интерфейса и нагрузкой на CPU); из-за этого приходится добавлять проверки, на явное изменение экшена, переприсваивать экшен приходится в два действия: сначала установить его в nil, а уж после применить нужный. Было бы неплохо в обезьяне, в SetAction добавить проверку, что переназначается новый экшен и перед «Application.RegisterActionClient(Self)» делать «Application.UnregisterActionClient(Self);»
-
unit Forms.Persistent; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, System.Math, System.Generics.Collections, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs; type TfrmPersistent = class(TForm) private FShortcuts: TDictionary<Integer, TPredicate<TfrmPersistent>>; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure BindShortcut(const AShortcut: string; ACallBack: TPredicate<TfrmPersistent>); procedure UnbindShortcut(const AShortcut: string); inline; procedure UnbindShortcuts; inline; procedure KeyDown(var Key: Word; var KeyChar: Char; Shift: TShiftState); override; end; implementation {$R *.fmx} { TfrmPersistent } constructor TfrmPersistent.Create(AOwner: TComponent); begin inherited Create(AOwner); FShortcuts := TDictionary<Integer, TPredicate<TfrmPersistent>>.Create; end; destructor TfrmPersistent.Destroy; begin UnbindShortcuts; FShortcuts.Free; inherited; end; procedure TfrmPersistent.BindShortcut(const AShortcut: string; ACallBack: TPredicate<TfrmPersistent>); var ms: IFMXMenuService; begin if not AShortcut.IsEmpty and TPlatformServices.Current.SupportsPlatformService( IFMXMenuService, ms) then FShortcuts.Add(ms.TextToShortCut(AShortcut), ACallBack); end; procedure TfrmPersistent.UnbindShortcut(const AShortcut: string); var ms: IFMXMenuService; begin if not AShortcut.IsEmpty and TPlatformServices.Current.SupportsPlatformService( IFMXMenuService, ms) then FShortcuts.Remove(ms.TextToShortCut(AShortcut)); end; procedure TfrmPersistent.UnbindShortcuts; begin FShortcuts.Clear; end; end. Пример использования: BindShortcut('Ctrl+O', function (AForm: TfrmPersistent): Boolean begin todo: do something Result := True/False; end); True — сочетание обработано. False — сочетание не обработано и будет передано вложенным компонентам.
- 6 ответов
-
- ActionList
- Frame
-
(и ещё 1 )
C тегом:
-
Нашел, в каком-то плане, красивое решение. Публиковать?
- 6 ответов
-
- ActionList
- Frame
-
(и ещё 1 )
C тегом:
-
Спасибо за ответ. Увы, не получилось задать стилями пропроциональный ресайз, пришлось использовать два компонента.
-
Ахой, столкнулся с очередной проблемой Firemonkey, есть Frame, в нем ActionList, на Action есть Shortcut, но почему-то он никак не хочет отрабатывать. В ActionList главной формы Shortcut работают, а на фреймах — ни в какую. Кто сталкивался, как можно решить проблему?
- 6 ответов
-
- ActionList
- Frame
-
(и ещё 1 )
C тегом:
-
Приветствую, обнаружил удивительный баг: есть кнопка со стилем, содержащим 2 path (их видимость чередуется), так вот, если резко подергать размер формы, то эти path становятся невидимыми, или наоборот, показывается скрытый path. Сталкивался ли кто с такой ерундой и как лечить? Первое, что приходит на ум — завести отдельные стили с отдельными path и в коде переключать «стайл лукап» у контрола, но хотелось бы без прибегания к программному коду.
-
Приветствую, хотел бы узнать (может кто-то уже решал эту проблему), можно ли как-то с помощью стандартны компонентов (без написания кода) сделать пропорциональный ресайз вложенных элементов? Например, есть прямоугольник, внутри него лежит path (у него анкеры: лево, право, верх, низ), при изменении размеров квадрата вдвое, размер вектора меняется на половину. Пробовал использовать scale у вектора, но вектор ресайзится с левого верхнего угла, а не по центру.
-
Для контейнера и задавал. Марджин контейнера работает, но элементы обрезаются не по нижней границе.