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

Andrey Efimov

Модераторы
  • Постов

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

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

    123

Весь контент Andrey Efimov

  1. Ваше сообщение конечно адресовано не мне, но всё же выскажусь. Есть пример удалённой темы? Спрашиваю, т.к. имею права модератора и сейчас посмотрел все удалённые за последние дни сообщения/темы и вроде не обнаружил того о чём вы говорите. Есть правило: Удалять из тем, все, что не относится к теме (это флуд, ошибочные или просто бесполезные сообщения, спам и т.п.) Например, частенько вижу ваши сообщения, которые, не несут никакой полезной информации, так ещё в них частенько промелькивает негатив в сторону FMX. Напрашивается вопрос, раз вы так часто говорите, что вас не устраивает FMX, то почему пользуетесь ей/сидите на этом форуме? Про баги: Есть правила форума, там ясно написано, куда слать баги. Про видимость: из компании Embarcadero, форум посещает только Ярослав и то, когда есть свободное время… Уже сто раз отвечали, не устраивает FMX, пишите письмо в компанию или идите на другой форум доказывать всем, что FMX вас не устраивает и вообще всё плохо. Ярослав один из программеров, не менеджер. Что делать со средой, решает не он, более того, даже не в России (насколько я понял из последней презентации XE7 в Москве), всем заведуют Американцы. По поводу «… выслушивайте всех …», смотрите пункт 1 и 4 Ещё ни разу не видел, чтобы была удалена полезная тема Впредь, такие сообщения пишите в личку!
  2. Ну, в данном конкретном случае (исходя из описанной задачи) можно и без синхронизации, а вообще конечно все действия с GUI очень желательно проводить через синхронизацию (т.е. в основном потоке). Я как бы рассчитывал, что человек сам заглянет в справку и разберёт код. Возможно, вы правы и не нужно было выкладывать такой вариант...
  3. Слипом вы подвешиваете главный поток, поэтому кнопка остаётся нажатой. Почему не происходит прорисовка, я точно сказать не могу, но скорее всего связано с подвешенным главным потоком. Чтобы ваш код заработал, можно, например, использовать "Application.ProcessMessages" (кнопка будет нажата): procedure TForm1.Button1Click(Sender: TObject); begin Panel1.Visible := True; Application.ProcessMessages; Sleep(3000); Panel1.Visible := False; Application.ProcessMessages; end; Или воспользоваться потоками (кнопка будет в обычном состоянии): procedure TForm1.Button1Click(Sender: TObject); begin TThread.CreateAnonymousThread( procedure begin TThread.Synchronize(nil, procedure begin Panel1.Visible := True; end); TThread.Sleep(3000); TThread.Synchronize(nil, procedure begin Panel1.Visible := False; end); end ).Start; end; Можно написать вот так (без синхронизации тоже работает, это у меня уже в привычку вошло, работу с визуальными компонентами в синхронизацию запихивать): Используйте вариант описанный выше. Возможно, есть более лучшее решение...
  4. Как я и сказал: под Андроидом - string[0], в цикле - "-1" Вот так: function TForm1.HexToStr2(const source: string): string; var i, idx: Cardinal; StrAsBytes: TBytes; begin SetLength(StrAsBytes, length(source) div 2); i := 0; idx := 0; while i <= length(source) - 1 do begin StrAsBytes[idx] := StrToInt('$' + source[i] + source[i + 1]); i := i + 2; idx := idx + 1; end; result := tencoding.ansi.GetString(StrAsBytes); end; Если нужен один код на две ОС, то используйте директиву {$IFDEF}
  5. В следующий раз, создавайте отдельную тему, эта тема для вопросов по установке. Теперь по вашему вопросу, создайте отдельную тему, например "[FGX]Не работает ActivityDialog" тут FGX → Вопросы / Questions. Не забудьте указать операционную систему. p.s. На Андроиде точно работает, сам использую.
  6. Выложите стиль, так будет проще решить вашу проблему, мы ведь не телепаты
  7. Embarcadero сообщило о каком-нибудь решении ? Нет, к сожалению, решения пока нет, иначе оно было бы по ссылке или в Update 1 для XE7, может в XE8…
  8. Вот, давно уже отрапортовал об этом поведении http://qc.embarcadero.com/wc/qcmain.aspx?d=127108
  9. Rad Studio из коробки умеет работать с zip архивами, единственный (вроде) минус – не работает с запароленными архивами. Модуль System.Zip(Справка), попробуйте воспользоваться им.
  10. Я точно не заводил тем про ActivityManager, наверно перепутали с кем-то... Было бы у меня решение, я поделился бы обязательно, тут многие об этом знают, не зря же я блог создавал. Выложите тестовый проект на Делфях (желательно XE7), я попробую у себя проверить/посмотреть.
  11. Возможно, вам поможет выдача разрешения android.permission.KILL_BACKGROUND_PROCESSES
  12. Microsoft Security Essentials - вирусов нет (ВирусТотал: https://www.virustotal.com/ru/file/1953ba40db388eac65a53bf677a5bbf5dbf8ae12bf375081cac97b199c32105b/analysis/1419343955/) brunnengi, Проверяйте комп. Windows 7 Pro (32 bit): Ошибка
  13. Здравствуйте. 1. Данная проблема вроде была исправлена в след. версиях RAD Studio. Либо обновитесь, либо найдите хотфикс. 2. Отслеживайте сворачивание приложения и ставьте на паузу медиа плеер
  14. Возможно, вы забыли задеплоить файл и прописать новый путь для базы. Посмотрите пример Mobile Tutorial: Using FireDAC and SQLite (iOS and Android).
  15. Не знаю, что вам необходимо, но схема "Нажал на кнопку, открылся выбор даты и времени, выбрал. После этого выбранная дата и время отобразились на кнопке" работает отлично. Вот простой пример: procedure TForm1.Button1Click(Sender: TObject); begin TimeEdit1.OpenPicker; end; procedure TForm1.TimeEdit1Change(Sender: TObject); begin Button1.Text := DateToStr(TimeEdit1.Date); end; Есть ещё события: OnOpenPicker, OnClosePicker ...
  16. Посмотрите тут http://stackoverflow.com/questions/20360506/get-owner-name-of-an-android-device
  17. Что мне известно из моих экспериментов под Андроид. Стандартный плеер, при открытии/запуске видео, создаёт новый "слой", разместить что-то над этим слоем не получится, сдвинуть его на задний план тоже не получится. Запустить что-то над MX плеером тоже не получится, т.к. Андроид может выгрузить мх плеер, т.к. наше приложение не прозрачное.
  18. Посмотрел. В Андроид АПИ это поле вроде как не описано, но в исходниках Андроида оно есть, правда приватное, называется LOCK_SCREEN_OWNER_INFO (тип string). В интернете нашёл вот такое решение (не проверял): Settings.Secure.getString(getActivity().getContentResolver(), Settings.Secure.LOCK_SCREEN_OWNER_INFO); Если не заработает, то 99%, что извлечь вообще не получится. p.s. Посмотрел ещё раз АПИ, скорее всего решение не рабочее, т.к. поля "Settings.Secure.LOCK_SCREEN_OWNER_INFO" попросту нет в АПИ, а значит возникнет ошибка уже на стадии написания кода.
  19. Ого, теперь нашёл, спасибо. У меня это "Кнопка Меню на главном экране-Настройки блокировки-Контактная информация". Завтра (сегодня не смогу уже, т.к. убегаю) постараюсь посмотреть, как получать инфу оттуда.
  20. Ну так я и пишу, что нет у меня такого. Всё перерыл, нету "Сведения о владельце", в безопасности точно такого меню нет. Что это за меню такое, что там выводится/пишется?
  21. Что за "Сведения о владельце"? у меня такого меню нет...
  22. Видимо это баг, конкретно с вашим устройством. Пишите рапорт сюда: https://quality.embarcadero.com/issues/?jql=
  23. Ответ на изначальный вопрос: [Android]Как включить фонарик?
  24. Часть моего поста и весь ваш не относились к делу. Если есть претензии, то прошу писать в личку. Далее по вашему вопросу. Я не телепат, сомневаюсь, что на форуме есть телепаты, которые знают, что вы смотрели демки и тем более пробовали. Т.е. каков вопрос, такой ответ и последовал. В следующий раз, когда будете задавать вопрос, описывайте ситуацию подробно, а не в двух словах. У меня все демки работают отлично. Идём дальше, вы точно посмотрели все демки?(риторический вопрос) Так и быть, посмотрю за вас, открою вот эту: C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\Mobile Samples\Device Sensors and Services\FlashLight У меня работает. Если у вас эти демки не работают, то составьте рапорт в баг-трекер с указанием устройства. Ответ на ваш вопрос был дан.
×
×
  • Создать...