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

AlexG

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

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

  • Посещение

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

    45

AlexG стал победителем дня 6 мая 2020

AlexG имел наиболее популярный контент!

1 Подписчик

Информация

  • Пол
    Мужчина

Посетители профиля

3 304 просмотра профиля
  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. Посмотрите в сторону "оберток". Например тут. Там есть файл android.hardware.fingerprint.pas (и не только). Вроде бы, есть все, что нужно. А уж как все это использовать - это другой вопрос, смотрите примеры.
  6. AlexG

    TLang + TEdit.TextPrompt?

    Добрый! Никак. Как и многие другие элементы... Решение, до сих пор, - создание своего компонента или модуля для мультиязычных приложений. Пример - Мультиязычность в андроиде. Код, конечно, давно изменился и оптимизировался не раз. Если будет свободное время - выложу как-нибудь последнюю версию.
  7. Попробуйте установить у TEdit свойство KeyboardType = Alphabet, а не Default.
  8. Сталкивался с подобным. В моем случае, решение было следующим: использовал не 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;
  9. Я не утверждаю, что в Вашем случае - это решение вопроса. Я лишь констатирую факт того, что иногда, из-за некачественного кабеля могут возникать проблемы, которые никак не ассоциируются с кабелем (не запускается приложение, не деплоится и т.п.) У меня работает все при таких настройках
  10. Отмечу, что сталкивался с такой проблемой - То работает запуск приложения на смартфоне, то не работает, то странности возникают еще при деплоее на смартфон... В общем скажу просто - проблема была в кабеле. Самое интересное, что при подключении смартфон "виделся", и вроде бы все ок, но постоянные глюки при запуске приложения привели к одному решению - смена кабеля и все заработало. Не скажу, что это панацея, но я в своей практике уже трижды сталкивался с подобным. Кабель может работать на подзарядке, и даже при работе с устройством в плане чтения и записи фалов, через проводник, но будет "глючить" при более "тонкой" работе.
  11. Я так и не нашел оптимального решения. Только делать для разных аппаратов разную реализацию.
  12. Собственно это зависит от того как Вам требуется. У меня при нажатии на кнопку на форме.
×
×
  • Создать...