Перейти к содержанию
  • Регистрация

AlexG

Пользователи
  • Публикаций

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

  • Посещение

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

    44

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

  1. procedure TfmMain.DoAppExit; begin try Toast('Shutdown...'); TThread.Synchronize(nil, Do__________); // тут что-то делаем до завершения finally KillMe; // из Android.KillMainProcess end; end; android.KillMainProcess.zip
  2. Попробуйте просто "обернуть" эту часть кода: Application.CreateForm(TForm27, Form27); // можно это тоже внутрь Synchronize поместить TThread.Synchronize(nil, procedure begin Form27.ProgressBar1.Visible := false; Form27.StartUpLabel.Text := 'Ждите...'; Form27.Visible := true; end);
  3. uses FMX.VirtualKeyboard, FMX.Platform, ... var Keyboard: IFMXVirtualKeyboardService; begin if TPlatformServices.Current.SupportsPlatformService( IFMXVirtualKeyboardService, IInterface( Keyboard ) ) then Keyboard.HideVirtualKeyboard; end;
  4. Если я правильно понял, то Вам достаточно у TImage установить свойство ClipChildren = True.
  5. Друзья. Будьте просто уважительны друг к другу! Не стоит ссориться, тем-более - по пустякам. Далеко не каждый!!! может себе позволить - покупать ПО по таким ценам, которые предлагает абракадабра. А те, кто говорит, что может себе это позволить - лукавят) Потому-что, чаще всего, это не те версии, которые действительно требуются... Стоит "копнуть чуть глубже", - окажется, что этим разработчикам самим нужна более расширенная версия. А там стоимости уже сопоставимы с ценой на новый автомобиль... (И не надо меня ни в чем тут убеждать и спорить)) - я знаю о чем я говорю). (И еще. Не говорите тут (да и вообще) - что у других все бесплатно и прекрасно))) Бесплатного нет ничего и ни у кого! Если Вы так говорите - Вы просто еще не дошли до той стадии, когда Вам потребуется отвечать за использование этих продуктов (любой IDE), согласно тем же условиям и соглашениям, которые большинство "подписывают", даже не читая..) Давайте начнем с того - что тут большинство право! И те кто хает среду разработки и те, кто ее поддерживает. Во-первых - среда (IDE) как была глючной, так и остается ею, до сих пор. Причем, чем дальше - тем больше. (А уж после того как разогнали наших разработчиков из абракадабры - совсем дело пошло хреново. Потому, до сих пор, и сижу на Берлине, и пока не собираюсь с него переходить. А уж сколько "родного" кода было исправлено и заменено - ...) Однако! Продукт все же как-то развивается. И, как ни странно, - у него даже есть перспективы! (Это я и про разработки Ярослава (которых мы очень ждем) и про Евгения Крюкова и другие). Это во-первых. Во-вторых - альтернативы как небыло, так и нет! Повторюсь - альтернативы нет! Кто тут будет рассказывать про C# и Visual Studio, про Android Studio и прочие "обвески" - тогда чего Вы тут вообще делаете? На этом форуме? А? А раз Вы тут, значит и Вы понимаете, - ничего, пока, действительно стоящего, нет! Ну вот нет такой среды, где так просто можно создавать продукт для разных платформ одновременно. Я прекрасно понимаю, что абракадабра движется не в том направлении, в каком стоило бы... Мы, в большинстве своем, все это понимаем. Но потому и Ярослав и другие разработчики движутся в другом направлении! И хотя концепция их продуктов в принципе отличается от FMX, - они двигаются в верном направлении, я думаю. Пару слов в защиту платных курсов Ярослава (без подтекста, как есть!) Ярослав не меценат, как я думаю)) Ему, как и всем нам, нужно кушать самому, кормить семью, и т.д. и т.п. Он тратил свои собственные силы и время, создавая эти курсы. Почему он должен их раздавать бесплатно? Он и так создал этот форум, за что ему огромное спасибо! Где он и другие участники отвечают на вопросы. Что касаемо самих курсов. Если бы они появились раньше - я бы сам, с удовольствием, с ними бы познакомился (купил). Потому-что время, потраченное мной на изучение FMX, начиная с самой первой версии, исчисляется многими месяцами. И оно того не стоило бы - если бы данные курсы появились бы раньше. Просто ознакомившись с ними, Вы получите самое главное - огромное количество сэкономленного времени! Собственно, это все что я хотел сказать... И так написал что-то дофига... Простите за такой холст... З.Ы. Всем успехов и удачи!
  6. Посмотрите в сторону "оберток". Например тут. Там есть файл android.hardware.fingerprint.pas (и не только). Вроде бы, есть все, что нужно. А уж как все это использовать - это другой вопрос, смотрите примеры.
  7. AlexG

    TLang + TEdit.TextPrompt?

    Добрый! Никак. Как и многие другие элементы... Решение, до сих пор, - создание своего компонента или модуля для мультиязычных приложений. Пример - Мультиязычность в андроиде. Код, конечно, давно изменился и оптимизировался не раз. Если будет свободное время - выложу как-нибудь последнюю версию.
  8. Попробуйте установить у TEdit свойство KeyboardType = Alphabet, а не Default.
  9. Сталкивался с подобным. В моем случае, решение было следующим: использовал не OnItemClick, а OnMouseDown. И у TListBox свойство MultiSelectStyle = None. Код, примерно, такой: procedure TfmMain.lbxCListMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); var LI : TListBoxItem; begin if Assigned(Sender as TListBox) then begin LI := TListBox(Sender).ItemByPoint(X, Y); if Assigned(LI as TListBoxItem) and (Button = TMouseButton.mbLeft) then begin LI.IsSelected := True; TTask.Run(procedure begin DoSelectItemC(lbxCList, LI.Index); // тут Ваша процедура обработки выбранного TListBoxItem (если внутри DoSelectItemC работаем с GUI, то не забываем TThread.Synchronize()...) end); end; end; end;
  10. Я не утверждаю, что в Вашем случае - это решение вопроса. Я лишь констатирую факт того, что иногда, из-за некачественного кабеля могут возникать проблемы, которые никак не ассоциируются с кабелем (не запускается приложение, не деплоится и т.п.) У меня работает все при таких настройках
  11. Отмечу, что сталкивался с такой проблемой - То работает запуск приложения на смартфоне, то не работает, то странности возникают еще при деплоее на смартфон... В общем скажу просто - проблема была в кабеле. Самое интересное, что при подключении смартфон "виделся", и вроде бы все ок, но постоянные глюки при запуске приложения привели к одному решению - смена кабеля и все заработало. Не скажу, что это панацея, но я в своей практике уже трижды сталкивался с подобным. Кабель может работать на подзарядке, и даже при работе с устройством в плане чтения и записи фалов, через проводник, но будет "глючить" при более "тонкой" работе.
  12. Я так и не нашел оптимального решения. Только делать для разных аппаратов разную реализацию.
  13. Собственно это зависит от того как Вам требуется. У меня при нажатии на кнопку на форме.
  14. Мне помогло следующее: TThread.Synchronize(nil, procedure begin memoChatMessage.Text := ' '; memoChatMessage.SelectAll; memoChatMessage.DeleteSelection; end);
  15. Зачем? Все просто. Все описано - измените стиль. Не хотите менять стандартные? - создайте дубль, назовите иначе, измените свойства - используйте оба стиля, смотря какой когда нужен. Если нужно в рантайме, то все как обычно - используйте StylesData['тут_имя_свойства'] := ...
  16. Тут. Я использую второй вариант. P.S. [enatechno] опередил )
  17. Я поступил проще - на Токио пока даже и не пробовал переходить... Берлин работает, как работает - устраивает. Пока Токио не допилят, пока об этом все не напишут, и пока не появится как минимум первый апдейт - даже и пробовать не буду. Политика Embarcadero мне понятна. Искренне надеюсь, что им хватит ума и бюджета на то, чтобы развивать продукт. Оставался и остаюсь приверженцем Delphi, и во многих случаях ему просто нет объективной замены/альтернативы. Но кидаться "в омут" (на каждую новую версию) - желания нет.
  18. Есть такое дело. Он (Боян Митов) один автор сего продукта. Делает его ооооочень давно. В последнее время ударился в создание компонент и библиотек для работы с Arduino (почитать все новости можно в блоге). Недавно объявил о том, что скоро появится версия VideoLab для FMX с поддержкой не только Windows, но и MacOS и Android.
  19. Нет нет. Есть и под FMX. Смотрите на странице загрузки - Firemonkey and VCL, Current Version Installers. Но проблемы все те же останутся. Только Windows и сложность организации rtmp-потоков.
  20. Называется VideoLab (библиотека для работы с видео) Проблем с ним несколько. Во-первых - это только под Windows (уточним, насколько я знаю, сейчас Митов занимается созданием кроссплатформенной версии библиотеки, и вроде у него уже есть "наброски" (разумеется - под FMX), но когда появится релиз - не знаю). Во-вторых - непосредственно сама эта либа работать с RTMP не может. Так-что прийдется использовать фильтры, которые еще найти надо будет, если они есть )))
  21. На случай "своими руками", я бы порекомендовал Вам копать в сторону WebRTC. Разумеется все зависит от конечных задач, стоящих перед Вашей программой. Судя по всему - это организация потокового видео в режиме реального времени на соответствующие сервисы. А это значит, что: - нужно организовать формирование и передачу RTMP (RTSP) потока, с чем в Delphi (если о нем речь идет) есть определенные сложности) (в ситуации с С++ будет немного проще); - нужно использовать кодеки (encoder), формат которых поддерживается теми системами, на которых вы хотите видеть воспроизведение потока. Аналогично, как и в вопросе с rtmp-потоком, ситуация с реализацией в Delphi будет сложнее (хотя тоже можно); - что касается конвертации кадров из одного формата в другой, то тут все немного проще. В интернете полно алгоритмов описывающих конвертацию битмапа из одного формата в другой. Разумеется - не все так просто. Поскольку необходимо не просто конвертировать кадры, перед тем как передать их энкодеру, но еще и правильно от энкодера получить сам поток и передать его. После энкодера, конечно, идут не просто "кадры". В зависимости от настроек энкодера, сначала идет "ключевой кадр" (и он повторяется с определенной периодичностью), а за ним последовательность "фреймов" - "описывающих" лишь изменения в "ключевом кадре". Кратко как-то так... В любом случае, я бы порекомендовал Вам сначала пошарить по ресурсу, описывающему работу с потоковым видео. Просто понять как это работает, в принципе. Ну и многое можно там же подчерпнуть. Например, просто как оптимальнее настроить энкодер для трансляции того или иного видео.
×
×
  • Создать...