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

Лидеры

  1. ENERGY

    ENERGY

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


    • Баллы

      4

    • Постов

      568


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

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

    Модераторы


    • Баллы

      3

    • Постов

      2 517


  3. #WAMACO

    #WAMACO

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


    • Баллы

      3

    • Постов

      776


  4. Fedor K

    Fedor K

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


    • Баллы

      2

    • Постов

      55


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

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

  1. Столкнулся с такой же проблемой, если любой компонент (в моем случае TImage ) лежит на фрейме не работает TFloatAnimation вообще. Решение: При создании фрейма нужно указывать Self формы, а не nil. : MyFrame := TMyFrame.Create(Self);
    3 балла
  2. Автор: Зарипов Равиль (ZuBy) Ссылка на приложение: Офф. сайт
    1 балл
  3. Вам надо поработать над UI/UX приложения (по-гуглите, очень много ресурсов по этой теме) Все очень не удобно, не понятно, не однозначно.
    1 балл
  4. да нет, гугль заставляет программистов в своем приложении поддерживать все функции новых АПИ, но при этом если они захотят предоставлять совместимость со старыми версиями АПИ то пускай делают что то типа развилок в программах - если апи такое то такая функция а если такое то такая. что бы при запуске на новых версиях ос программы не падали. видать в следующих апи хотят полностью избавиться от устаревших вызовов функций.
    1 балл
  5. В копилку знаний. Напишу как решил задачу. Может кому-то будет интересно. Таких как мне надо параметров у MediaPlayer'a конечно нет. Но есть свойство VideoSize.X и Y там можно посмотреть реальный размер воспроизводимого видео в пикселях. Берем эти значения, делим высоту на ширину и выясняем астект (соотношение сторон). После чего берем ширину контейнера в котором отображает видео на форме и умножаем на этот аспект. Получаем нужную высоту контейнера. В итоге если у вас контейнер видео с привязкой Top, Bottom то его размер всегда будет пропорционально равным размеру проигрываемого видео-файла, что избавит от ненужный черных рамок.
    1 балл
  6. Var FIAsyncResult : IAsyncResult; procedure DoEndDownload(const ASyncResult: IAsyncResult); .... FHTTPClient:=THTTPClient.Create; FHTTPClient.ResponseTimeout:=FResponseTimeout; FHTTPClient.ConnectionTimeout:=FConnectionTimeout; FIAsyncResult:=FHTTPClient.BeginGet(DoEndDownload, 'https://.....'); procedure TServiceData.DoEndDownload(const ASyncResult: IAsyncResult); Var LAsyncHTTPResponse : IHTTPResponse; begin try LAsyncHTTPResponse:=THTTPClient.EndAsyncHTTP(AsyncResult); except on E:Exception do AErrorMessage:=E.Message; end; if Assigned(LAsyncHTTPResponse) then begin if LAsyncHTTPResponse.StatusCode = 200 then S:=LAsyncHTTPResponse.ContentAsString; ....
    1 балл
  7. krapotkin

    Использование GameAudioManager.pas

    ну и хорошая идея вместо обвешивания {DEFINE} в одном файле сделать базовый класс и двух наследников раскидать по модулям xxx.android.pas и xxx.ios.pas и в конечном файле просто uses {$IFDEF android} xxx.android.pas {$endif} {$ifdef ios} xxx.ios.pas {$endif}
    1 балл
  8. krapotkin

    Парсинг XML файла

    ну, откройте же хоть какой-то проект, а потом посмотрите сюда же. пункт XML появится...
    1 балл
  9. embarcadero выпустили патч исправляющий эту ошибку RAD Studio 10.2.3 Android Push Notification PatchThis patch resolves an issue with push notifications on Android due to missing files. It fixes the following publicly reported issue: RSP-20137 English, French, German and Japanese Available only to registered users of RAD Studio, Delphi, C++Builder 10.2 (Professional or higher) and All-Access
    1 балл
  10. Fedor K

    THTTPClient асинхронность

    Что конкретно печально в асинхронности клиента? На какой платформе? Если с примером - то вообще замечательно. п.с. Еще раз повторю, что нареканий со стороны работы асинхронности не было замечено в течении года в нагруженном мобильном приложении на обоих осях, Delphi Berlin Update 2.
    1 балл
  11. ENERGY

    THTTPClient асинхронность

    Лучше использовать потоки, т.к. сейчас все моб. девайсы имеют многоядерные процессоры. TThread.CreateAnonymousThread( procedure begin // код TThread.Queue(nil, procedure begin // здесь код выполнится только по окончании работы потока (отложенный), в главном потоке. // здесь можно работать с формой. end); end ).Start; TThread.CreateAnonymousThread(procedure () begin TThread.Synchronize (TThread.CurrentThread, procedure () begin // код выполнится в главном потоке, - к примеру чтобы показать прогресс на форме. и затем // поток продолжит работу. end); end).Start; Всегда помните что нельзя работать с формой из других потоков, без методов синхронизации. Только в главном, иначе будут случайные AV ошибки. Еще почитайте. http://blog.marcocantu.com/blog/2014_may_background_delphi_android_threads.html
    1 балл
  12. Очередные холивары из разряда "мои проблемы никто не хочет решить за меня, значит Delphi плохой инструмент, давайте все перейдем в другую песочницу...". Минусы FMX есть и будут, от этого никуда не денешься, но в последнее время весь soft и продукты катятся в яму с кучей bugs даже от крупных компаний и корпораций даже спустя многие releases. Если на то пошло, то предлагаю все "невозможные" фишки периодически добавлять в первый пост и прикреплять решения, если они существуют. Проблемы FMX в следующем: Жесткая привязка к версии SDK, возможно сделано целенаправленно, чтобы пользователи обновляли лицензии год за годом. Позволяет разработчику не углубляться в особенности операционной системы, и не меняя мышления клепать свой "первоклассно рабочий VCL стиль" код и тонны компонентов под все платформы. Пропаганда "возьмите свой старый код и сделайте мобильное приложение" - маркетологи, вы в своем уме? Отсутствие достойных плагинов для IDE. Тот же Cn Wizard давно пора включить по дефолту. Неужели сложно добавить плагин для создания wrappers для java классов сразу в IDE? Разве сложно загрузить приложение прямо в маркет без ручного копирования? Отсутствует редактор manifest, plist как таковой. Вспоминается анекдот про танк и "доработать напильником". Многие достойные вещи делаются на голом энтузиазме сообществом, но почему-то только спустя много-много времени внедряются в коробку. Отсутствует нормальный debug на мобильных платформах, логами все не покроешь. Ограничения в ARM процессорах. Желание все хранить в .fmx, .dfm файлах, а не ссылками в ресурсы, как это принято в мобильной разработке. Это конечно обходится написанием своих менеджеров, но неужели сложно это продумать из коробки? Такое чувство, что пытаемся охватить как можно больше платформ по чуть чуть, чтобы кому-нибудь впарить свой продукт, а уже потом будем думать, как выкручиваться. FMX Canvas - ахиллесова пята. Не смотря на все это FMX является очень мощным инструментом и крайне приятным в умелых руках, если вы любите напильник (или мазохист). Средне статические проекты можно реализовывать не боясь, но для более серьезных вещей понадобятся знания нативной разработки, без этого никак. Если заказчик начинает разговор "я хочу такое, как в том-то приложении..." - значит без написания своей обертки или исправления исходников не обойдешься. FMX в последнее время активно развивается и спустя Х лет все будет у нас превосходно, просто не бегите за новыми версиями, а подождите Update 3 или используйте предыдущую версию (Berlin Update 2 все еще в соку). Другие кросплатформенные frameworks (Xamarin, Reac Native, RemObject, Native script, другие) тоже не лишены недостатков, но там слегка другие концепции и другая аудитория, кто лучше - покажет лишь время.
    1 балл
  13. Сравнивать RAD надо не с нативными студиями разработки, а с Xamarin, например, там вообще тихий ужас... Есть 1С:Мобильная платформа, там тоже можно собирать под Android, iOS - правда все в желтом цвете (про toolbar), но знаю людей, кто на этом столько денег заработал, что авторы нативных приложений и не видели еще... Дело в направленности приложений и ДА, некоторые типы приложений (например, корпоративные) делаются быстрее. Не надо рисовать виджет погоды на Delphi, не надо делать путеводитель по сортам кофе на Delphi. Делайте это нативными инструментами. Востребованность в кроссплатформе есть и эта тенденция будет только усиливаться. Сейчас это напоминает мне разговор в 1998 году о том, что все ПО под Windows надо писать на C++, потому что на других языках - НЕ НАТИВНО, МЕДЛЕННО РАБОТАЕТ, ПОДВИСАЕТ! А потом, я пришел в одну контору и руководство провозгласило: ТОРМОЗИТ? Добавьте Гигагерц и ОЗУ - это дешевле и быстрее, нежели переписывать на нативных языках! Так вот, со временем так же будет и с мобилами! и уже очень скоро! НЕ РАБОТАЕТ НА КИТАЙСКИХ СМАРТФОНАХ? выбросьте их и купите уже нормальные аппараты! это дешевле, нежели платить Kotlin разрабу!
    1 балл
  14. Про красиво - вот наш прототип. Более менее UFriendly
    1 балл
  15. Между версиями 10.2-10.2.2 прошло более полугода. Ни одного известного ДАЖЕ на форуме бага не поправлено. Динамики не вижу в упор. На следующей неделе у нас будет приниматься окончательное решение: скорее всего будем уходить с FMX на VCL обратно, причём на какую-нибудь XE2, там хоть текстовый редактор рабочий. Так как то, что сейчас получается - оно вообще не рабочее, а ждать устали. 10.2.3 скорее всего снова перенесут какие-нибудь кнопки в новое место, и ещё что-нибудь важное сломают, как в 10.2.2 не работающий в половине случаев ctrl+пробел и всё, главное денег заносите. Ставишь 3-ю студию, выбираешь котлин (это +~50тыр к зарплате) и пишешь что-нибудь. За месяц основные фишки типа XML разметки и всех вьюшек изучишь. Ещё 2-3 недели - это Dagger2, Relam и MVP . После того можно спокойно пройти любое собеседование. Главное демо-проект(ы) придумать по интереснее.
    1 балл
  16. Не обманывай людей . Это что: procedure onReceivePermissionsResult(const ASender: TObject; const AMessage: TMessage); ?
    1 балл
  17. 1) Решение Андрея не полное, нет колбэка от выбранного действия. Неизвестно юзер разрешил или нет 2) Не работают сервисы как положено 3) Старый СДК, из-за чего мы не можем использовать новые темы (сейчас используется Holo Light) окраска статус бара, в делфе тспользуется костыль процы интел не поддерживаются (хотя уже и не выпускают новые, но все же) для того чтобы сделать мультилайн в уведомлениях нужно перекомпилить fmx.jar 4) Ограничение в делфи (в бридже) на создание джава классов, из-за чего FMX не может просто перейти на новый СДК 5) Нет нативного рендеринга 6) Невозможно использовать анимацию 7) Работа с картой и браузером ужасна 8) Работа с пуш уведомлениями тоже ужасна, нужно все самому И это скорее всего не всё, то что вспомнил
    1 балл
  18. И куда? Пробовал и IDEA, и Eclipse, и Android Studio. Работа в Delphi - самая комфортная.
    1 балл
  19. На моей памяти Delphi уже 10+ лет умирает. Замкнутый круг: если все будут валить с Дельфи, то его и развивать не будут. Если будем продолжать, то и Дельфи будут развивать. К сожалению, цена на среду заоблачна для простых фрилансеров. А FMX вообще должна быть пока ещё бесплатна, как бета-версия.
    1 балл
  20. Вот поэтому нужно валить с делфи, если хотите и дальше писать под андроид. Нам нельзя повышать СДК (андроид 6.0+ запрашивает разрешения в рантайм, чего мы не можем делать, хотя есть костыль у Андрея Ефимова)
    1 балл
  21. На данный момент столкнулся с тем, что нет нижеописанных встроенных возможностей (из коробки, как говорится). 4. Назначить (изменить) иконку у TNotification. 5. Работать с Broadcast. 6. Показать на переднем плане временное окно из службы, типа Toast, но дольше и с картинкой. 7. Пролистывать картинки (нет слайдера). 8. Работать с адресной книгой, звонками, другими данными (TAddressBook) не подходит. Вернее, есть возможность, но нет примеров и описаний совсем. Я о таких вещах, как TJContactsContract_PhoneLookup, TJNet_URI, getContentResolver.query, JCursor, TJavaObjectArray. Спасибо тем, кто помогает переводить код с Java на Delphi. 9. Нельзя указать в настройках проекта, что приложение должно автоматически стартовать при перезагрузке смартфона. 10. Нельзя создавать 64-битные Андроид-приложения. А в Гугломаркете их уже 40%. 11. Нет списка, который бы можно было подключить к TDataSet с возможностью дозагрузки и автоматического уничтожения ненужных записей.
    1 балл
  22. ААА Жиза))) Я думал один такой) Сорри за флуд) 2. Нет возможности работы с запароленными zip-архивами 3. Сложно создавать стабильно работающие приложения (как раз предыдущий пост об этом)
    1 балл
  23. Добрый день! Все проще, гораздо. Net := THTTPClient.Create; Net.BeginPost( procedure (const Value : IAsyncResult) begin AsyncResult(Value); // Вот тут можно вызвать любую процедуру, или просто обработать результат. end, URL, InputStream, OutputStream, Headers); В анонимной процедуре просто вызываете нужную процедуру, для интерактивной одну, для периодических запросов другую.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...