Таблица лидеров


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

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

  1. 2 балла
    Я бы сам присоединился к такому вопросу. Советовать не стану, расскажу лишь как мы сделали. Иконки для кнопок, их цвета и прочее что относится к внешнему виду/интерфейсу мы вставили в стили, конкретнее - прямо на битмап темы приложения. Изображения же, типа там фоток, примеров из "что нового" вставили в imageList, причем все используемые imageList вынесены в отдельный DataModule. Мы получаем только текст и сразу парсим, соотв. храним в оперативке, нам нет смысла писать на диск. Тут можно разводить холивары. Мы перенесли опыт настольной разработки - создаем формы по мере необходимости. Плюс очевиден, но он же автоматически имеет и минус - когда вам эта форма понадобится, ее создание занимает время, и иногда это заметно. В целом у нас одна главная форма с табконтролом и отключенными вкладками, по мере необходимости мы переключаем табы и их порядок, это позволяет анимировать переходы с одной "формы" т.е. вкладки на другую. Ембаркадеро советует использовать object.DisposeOf() вместо object.Free() так и делаем. Минусов не обнаружили (или не заметили). Попробуйте поэкспериментировать с другими контролами, ListView или ListBox. Они все позволяют использовать стили для элементов списка (имхо, могу ошибаться). Мы используем TListBox (что не рекомендуется данным форумом) и кидаем стили на элементы списка (лид сказал оставляем так, потом будем решать). Ну, это не запрещено))) Попробуйте дженерики, удобная фича. Пример нужен? PS. это все имхо, я с удовольствием послушаю коллег.
  2. 1 балл
    я наоборот, за фреймы. логику гораздо проще строить. Да и переключение форм свайпом вправо влево не сделать, например. Форм пара тройка достаточно. По приведенному примеру - компоненты создавать в потоке - не только бесполезно но и вредно. Создавать в главном потоке. К счастью, экран мобилы невелик, и если создавать то, что реально нужно прямо сейчас, вполне все норм про картинки и прочее - нужно понимать, что золотой пули нет. если вы превысите разумные пределы по памяти, ваше приложение грохнется. так что использовать файлы или нет - решение принимать по месту прописки со скроллом - если разобраться с ListView, то достаточно несложно делать любые раскладки. одно, что приходится кодить, вместо привычного накидывания компонентов Насчет DisposeOf. Уничтожение производится автоматически, поэтому вызывайте FreeAndNIL и не парьтесь. Только перед этим для компонентов например надо сделать Parent := NIL Уничтожение не должно производиться вами. Деструктор будет вызыван без вас, когда вы затрете все ссылки на ваш объект.
  3. 1 балл
    Это для совсем простеньких случаев, когда классу потока не нужны поля, методы и все такое. TTask.Run ничем не отличается от этого А для более продуманных вещей потомки TThread по-прежнему рулят
  4. 1 балл
    Лучше не наследоваться в отдельный класс от TThread, как это делалось раньше в Delphi. Это громоздкий и запутанный код. Лучше используйте анонимные потоки. Вот вам шаблон: http://blog.marcocantu.com/blog/2014_may_background_delphi_android_threads.html TThread.CreateAnonymousThread( procedure begin // выполняется в потоке TThread.Queue(nil, procedure begin /// выполняется в главном потоке, когда завершиться анонимный поток. end); end ).Start; procedure TForm5.Button3Click(Sender: TObject); begin TThread.CreateAnonymousThread(procedure () begin // выполняется в потоке TThread.Synchronize (TThread.CurrentThread, procedure () begin // выполняется в главном потоке, но при этом анонимный поток еще продолжит работать, но сейчас приостановлен end); end).Start; end; И помните что с элементами GUI нельзя работать из другого потока, только из главного ( TThread.Queue, TThread.Synchronize). Иначе будет Access Violation, который будет выскакивать случайным образом.
  5. 1 балл
    Кроме Align = Top, установите еще свойство Top = 10000, что бы они добавлялись заведомо ниже всех существующий элементов. Если не устанавливать Top, то по умолчанию позиция у всех будет 0 и порядок элементов будет зависеть от погрешности вычислений Single.
Эта таблица лидеров рассчитана в Москва/GMT+03:00