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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      7

    • Постов

      2 124


  2. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      5

    • Постов

      2 517


  3. krapotkin

    krapotkin

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


    • Баллы

      3

    • Постов

      2 187


  4. SergeyIT

    SergeyIT

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


    • Баллы

      2

    • Постов

      32


Популярный контент

Показан контент с высокой репутацией 26.01.2016 во всех областях

  1. Если требуется сделать хранилище универсальных данных, то я, конечно, бы лучше взял бы за основу TValue, словарь и снабдил бы это все хелпер методами для получения данных требуемых типов. И опять же все зависит от задачи. Абстрагирование вещь хорошая, но ею стоит пользоваться там, где она жизненно необходима.
    3 балла
  2. Давно не хватало TListView в горизонтальной ориентации, например чтобы сделать вот такую картинку zairkz сделал стиль с применением 9-patch png "технологии" С помощью жестов показано как сделать "сквозной скрол" как писал dreamix P.S. по компоненту TListViewHorz, не успел все протестить как следует со всеми параметрами не правильно будет отображаться Header'ы и Поиск, основной функционал сохранен UPDATE: LVStyledhorz.7z
    2 балла
  3. аналогично у меня почти всегда есть юнит типа UOptions.pas где лежит глобальная переменная options:TOptions и в классе TOptions считывание/запись настроек из файлов, интернета и т.д. initialization options:= TOptions.Create; finalization Options.free Options:=NIL;
    2 балла
  4. Все зависит от решаемых задач. Но если мы говорим о хранилище значений, то такой вариант хорош. Плюсы: Строгая типизация. Мы будем обращаться и работать со значением конкретного конечно типа без дополнительных приведений Минусы: Реализация дженериков порождает отдельный тип класса для каждого параметра шаблона. Поэтому количество памяти будет задействовано больше (если есть критерий по памяти). Например, если вы хотите хранить значения 10 типов, то вы получите на выходе 10 классов. С учетом того, что как-то так складывается, что в Delphi разработчики не особо заботятся о количестве потребляемой памяти, то этот вариант будет чаще использоваться. Другой вариант, использования RTTI для хранения значения с использованием TValue. TSimpleObject = class(TObject) constructor Create(wrappedPrimitive : TValue); property Value : TValue read SetValue; Плюсы: Один класс на все типы Недостатки: Требуется дополнительный код по проверки и приведению TValue к нужному типу. Снижается скорость обращения. P.S. Был еще вариант с Variant, но я бы его назвал устаревшим, после появления TValue.
    2 балла
  5. procedure of object - это ссылка на метод объекта. Здесь обязательно есть неявный параметр Self. reference to procedure - это ссылка на процедуру. Обратите внимание, что здесь нету неявного параметра Self. Анонимные методы работают из коробки только для процедур и функций (не методов). По суди анонимные методы - это лямбда функции в С++ Я бы хотел, чтобы анонимные методы можно было бы писать и для методов, но увы, пока такой поддержки нету. Существует способ присваивания анонимного метода методу, но он оперирует с указателями и низкоуровневым представлением типов в памяти и не рекомендуем к использованию В Delphi не все объекты. А значит, не везде будут неявные параметры. Делегаты, протоколы и листенеры хороши для осуществления взаимодействия между объектами. Но для событийной модели они не удобны с точки зрения среды IDE. Так как если вы хотите задать один обработчик из среды, то гораздо удобнее подсунуть ссылку на метод, нежели создавать объект с поддержкой интерфейса.
    2 балла
  6. Если я правильно понял Вас, то можно использовать секции initialization она выполняется при Application.Initialize; можно работать с TApplication, но пока нельзя работать с формами. т.к. они еще не создались unit uMain; interface uses ... var aClass: TmyClass; // например, хранит важные параметры implementation initialization aClass := TmyClass.Create; finalization aClass.Free;
    1 балл
  7. krapotkin

    SuperObject vs JSON

    у автора на сайте висит Issue незакрытый по этому поводу у меня более ранняя версия X-Superobject.7z
    1 балл
  8. События в Object Pascal имеют следующую сигнатуру procedure of object Анонимные методы - reference to procedure (function) То есть, это различные сущности. В языке C# эти понятия тождественны, в Java AddListener принимает интерфейс типа ActionListener. Что помешало разработчикам отождествить эти понятия? Исторически унаследованная несовместимость? Чем отличается procedure of object от reference to procedure? Это важно с точки зрения организации приложения в стиле ООП. Спасибо большое!
    1 балл
  9. #WAMACO

    TStringGrid ячейка как у ComboBox

    а когда новый релиз будет? это будет 11? или update 2?
    1 балл
  10. SergeyIT

    Объектная модель примитивов

    Браво FM Team! Спасибо! Это гениально, говорю без лишнего пафоса. Искренне. Могу пояснить мое восхищение, если это будет кому то интересно.
    1 балл
  11. Ссылка: http://delphifmandroid.blogspot.ru/2016/01/android-service.html Автор: Андрей Ефимов Описание: [Android Service] Создание простейшего Сервиса (службы)
    1 балл
  12. Терпение... Zuby пишет компонент на основе TListView, как раз, то что тебе надо Вертикальный скролбокс и внутри горизонтальные ListView, наверное завтра выложит
    1 балл
  13. тестил на iphone 6, ios simulator все отлично. укажите значение VKOffset которое вам подходит. мне подошло 31 не нужно
    1 балл
  14. Равиль Зарипов (ZuBy)

    TUITabControl

    обновите вот эту процедурку procedure TUITabControl.PaintChildren; var Tab: TTabItem; begin inherited; if FSlide then for Tab in TransitionTabs do begin TMyTabItem(Tab).PaintInternal; TMyTabItem(Tab).PaintChildren; // fix end; end;
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...