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

Barbanel

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

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

  • Посещение

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

    36

Весь контент Barbanel

  1. Barbanel

    PopUp и Canvas

    Ок, создайте его заранее, и в нужные моменты просто делайте видимым/невидимым. В чем причина такого странного поведения - я хз.
  2. Barbanel

    PopUp и Canvas

    Костыль: создавайте PopUp с AOwner=nil или AOwner должен быть каким-нибудь невидимым компонентом.
  3. Да начинание хорошее, никто не спорит. Спор в том, что доход 400$ в месяц для целевой аудитории - это реально ни о чем, поэтому для чего такое ограничение сделано - ХЗ. Под целевой аудиторией понимается корп сегмент, европа и штаты. Это как если мелкомягкие скажут: "спецпредложение для России - устанавливайте нашу винду себе бесплатно, если ваш доход менее 1000 рублей в месяц".
  4. Чтож, ждем еще лет пять-десять, пока сия сакральная мысль не придет в головы эффективным манагерам)
  5. Выложите нам этот почти пустой проект, проверим.
  6. Barbanel

    IOS: Exception class 6

    Порвался сначала сказать: да легко, у меня стоят разные версии) Ан нет. Стоят только разные версии Command Line Tools, а сем xCode - актуальной версии. Полагаю что если нужны разные версии - то через виртуалку. PS Не эксперт, все имхо.
  7. Не стыдитесь) Мне как-то на собеседовании сказали: вы даже не знаете что такое дженерики, мы не будем с вами работать. После этого придя домой я сразу же полез искать что это. Каково же было мое разочарование, когда я узнал что это обертка над TList, не передать словами!!!
  8. По сути это TList, который возвращает вам не TObject, а сразу объект нужного типа. type TMobBaseObject = class(TBaseObject); ... var FItems : TObjectList<TMobBaseObject>; ... var myObj : TMobBaseObject; i : integer; begin FItems := TObjectList<TMobBaseObject>.Create; for i:=0 to 99 do begin myObj := TMobBaseObject.Create(); myObj.SetProperties(); FItems.add(myObj); end; end; ... var myObj : TMobBaseObject; i : integer; begin for i:=0 to 99 do myObj := FItems[i]; end;
  9. Я бы сам присоединился к такому вопросу. Советовать не стану, расскажу лишь как мы сделали. Иконки для кнопок, их цвета и прочее что относится к внешнему виду/интерфейсу мы вставили в стили, конкретнее - прямо на битмап темы приложения. Изображения же, типа там фоток, примеров из "что нового" вставили в imageList, причем все используемые imageList вынесены в отдельный DataModule. Мы получаем только текст и сразу парсим, соотв. храним в оперативке, нам нет смысла писать на диск. Тут можно разводить холивары. Мы перенесли опыт настольной разработки - создаем формы по мере необходимости. Плюс очевиден, но он же автоматически имеет и минус - когда вам эта форма понадобится, ее создание занимает время, и иногда это заметно. В целом у нас одна главная форма с табконтролом и отключенными вкладками, по мере необходимости мы переключаем табы и их порядок, это позволяет анимировать переходы с одной "формы" т.е. вкладки на другую. Ембаркадеро советует использовать object.DisposeOf() вместо object.Free() так и делаем. Минусов не обнаружили (или не заметили). Попробуйте поэкспериментировать с другими контролами, ListView или ListBox. Они все позволяют использовать стили для элементов списка (имхо, могу ошибаться). Мы используем TListBox (что не рекомендуется данным форумом) и кидаем стили на элементы списка (лид сказал оставляем так, потом будем решать). Ну, это не запрещено))) Попробуйте дженерики, удобная фича. Пример нужен? PS. это все имхо, я с удовольствием послушаю коллег.
  10. Процедура Invalidate не перерисовывает форму немедленно, она лишь добавляет сообщение на перерисовку в очередь сообщений. Соотв. форма перерисуется когда не будет других событий в очереди, в данном случае - после всех длительных операций или после вызова .ProcessMessages
  11. -Прячете листбокс -Перерисовываете форму (точно процедуру не помню, попробуйте TForm.Refresh, TForm.RePaint, TForm.Update) -Выполняете долгое действие
  12. Посмотрите пример, о таком поведении я говорил в самом начале. В нем есть две формы, главная и второстепенная. На второстепенной я для наглядности отображаю гиф (по рецепту нашего китайского коллеги, да))) В главной форме я динамически создаю второстепенную и отключаю в ней реакцию на мышь, при этом гиф продолжает нормально крутиться во второй форме. Вы должны сами заботиться о координатах и видимости второстепенной формы. процедура SetMouse_Unsenitive - отключает реакцию на мышь, процедура SetMouse_Senitive- включает обратно реакцию на мышь. TransparentWindow.zip
  13. Именно это окно с видео и есть в данный момент второстепенное? То, на которое не нужно реагировать.
  14. И никаких координат не передается? Т.е. длл рисует кадр тупо на все окно?
  15. Это под виндовс или мобильные? Код воспроизведения в студию!
  16. Barbanel

    SendCommandWithResponse

    Ola! Guy, you are on Russian forum and almost nobody here understand your language. So please, i repeat: please, write on russian or on english. And yeach, have a nice day! ?
  17. А можно подробнее? Что именно имеется в виду?
  18. Вы не можете через хелпер переопределить процедуры родителей. Хелперы лишь расширяют функционал, насколько я знаю. Чтобы переопределить поведение класса, нужно наследовать от него дочерний класс и уже в нем переопределять. Я не знаю, можно ли переопределить конкретно процедуру Activate, на вскидку есть еще два решения: -не труъ: при OnClick на дочернюю форму, программно возвращать фокус нужной форме. -чуть более труъ: прописать стили формы, при которых она не реагирует на щелчки мыши, т.е. становится "прозрачной" для мыши. Это работает только на VCL приложениях (насколько я знаю)
  19. As i understand, compare of two strings with date inside will work correctly, if date saved in format YYYY-MM-DD With Time in format HH:MM:SS it have to be similar.
  20. О, это я удачно зашел! ? В данный момент как раз ковыряю этот кросс-платформенный пример, CubeMan3D. Сходу его удалось скомпилировать только в XE8. Стоит задача собрать его в XE10.2 Токио. Проблема в том, что в Токио низкоуровневая работа с приложением реализована немного по-другому. Если в XE8 обработка сообщений была реализована в цикле, то в Токио такого цикла больше нет, но есть коллбеки на все события. Обычно (насколько мне известно), работа графических игроподобных приложений строится по такому принципу: в цикле проверяются и обрабатываются пришедшие сообщения от системы, потом принудительно рисуется текущий кадр, и так до посинения) Не могу понять как в Токио организовать такой цикл? Сталкивался кто-нибудь? Заранее спасибо! PS могу собрать демо-пример с проблемой если необходимо.
  21. Barbanel

    IOS: Exception class 6

    А в симуляторе работает?
  22. Barbanel

    Лайки

    ОМГ, очень не хотелось бы! ?
×
×
  • Создать...