Перейти к содержанию
Fire Monkey от А до Я

TrueCrypt

Пользователи
  • Постов

    26
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

TrueCrypt стал победителем дня 4 февраля 2019

TrueCrypt имел наиболее популярный контент!

Посетители профиля

1 075 просмотров профиля
  1. TrueCrypt

    Утечка памяти в чартах

    Привет, при вызове метода ASeries.AddXY (пример: ASeries.AddXY(ASeries.MaxXValue + 1, AValue);) происходит утечка памяти, при том довольно сильная. Есть ли какая-то возможность устранить такой недочет. Исходник чарта закрытый, найти перврпричину не удается.
  2. Попап меню под панелью задач оказывается, т.к. менюшка расположена на попапе, а тот как обычная форма интерпретируется виндой. Либо свой попап делать, либо показывать вместо меню форму/окно.
  3. Пробовал через стиль сделать, парентом делать слой в стиле элемента, но тогда всё содержимое при перерисовке начинает скакать между элементами.
  4. TrueCrypt

    Добавление на Item

    Заполняю дерево, на узлах создаю фрейм (либо же любой другой объект), делаю узлам Expand и при скролировании возникает ошибка «Argument out of range», будто неправильно рассчитывается количество вложенных элементов. Как можно избавиться от такой ошибки?На узел кладу объект так: TfrFolderItem.Create(ATreeNode {owner}, ATreeNode {parent}, AFolderName); ATreeNode.Expand;
  5. Хоткеи работают, но только «системные», т.е. Alt+Enter будет работать, а Shift+O — уже нет. Сначала дельфи посылает нажатие клавиш активному компоненту, а уж потом на всякие экшенлисты и т.д.
  6. Внимание, вопрос: на кой нужен этот уберобжект? (J/B)SON есть «искаропки», для xml есть гора разных реализаций, под разные задачи. В чем преимущество вашей реализации (кроме компиляции под кучу платформ)? Не понял фразу « Дальше я написал вокруг него километр кода, создал набор стилей и сделал динамическую загрузку стилей для списка. В список в соответствии со стилями можно добавить порядка 20 разных компонентов», через уберобжект грузятся стили для listbox?
  7. С подобной байдой сталкивался при копировании кода, например, из визуалстудии. Из-за кривых переносов строк, в общем.
  8. Обнаружил баг: если в ActionListUpdate делать динамическое назначение экшена на контрол, то у Application проиходит сильное раздутие коллекции FActionClientsList (с последующими тормозами интерфейса и нагрузкой на CPU); из-за этого приходится добавлять проверки, на явное изменение экшена, переприсваивать экшен приходится в два действия: сначала установить его в nil, а уж после применить нужный. Было бы неплохо в обезьяне, в SetAction добавить проверку, что переназначается новый экшен и перед «Application.RegisterActionClient(Self)» делать «Application.UnregisterActionClient(Self);»
  9. 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 — сочетание не обработано и будет передано вложенным компонентам.
  10. Нашел, в каком-то плане, красивое решение. Публиковать?
  11. Спасибо за ответ. Увы, не получилось задать стилями пропроциональный ресайз, пришлось использовать два компонента.
  12. TrueCrypt

    ActionList Frame Shortcut

    Ахой, столкнулся с очередной проблемой Firemonkey, есть Frame, в нем ActionList, на Action есть Shortcut, но почему-то он никак не хочет отрабатывать. В ActionList главной формы Shortcut работают, а на фреймах — ни в какую. Кто сталкивался, как можно решить проблему?
  13. TrueCrypt

    Исчезновение стиля

    Приветствую, обнаружил удивительный баг: есть кнопка со стилем, содержащим 2 path (их видимость чередуется), так вот, если резко подергать размер формы, то эти path становятся невидимыми, или наоборот, показывается скрытый path. Сталкивался ли кто с такой ерундой и как лечить? Первое, что приходит на ум — завести отдельные стили с отдельными path и в коде переключать «стайл лукап» у контрола, но хотелось бы без прибегания к программному коду.
  14. Приветствую, хотел бы узнать (может кто-то уже решал эту проблему), можно ли как-то с помощью стандартны компонентов (без написания кода) сделать пропорциональный ресайз вложенных элементов? Например, есть прямоугольник, внутри него лежит path (у него анкеры: лево, право, верх, низ), при изменении размеров квадрата вдвое, размер вектора меняется на половину. Пробовал использовать scale у вектора, но вектор ресайзится с левого верхнего угла, а не по центру.
  15. Для контейнера и задавал. Марджин контейнера работает, но элементы обрезаются не по нижней границе.
×
×
  • Создать...