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

Andrey Efimov

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

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

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

    129

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

  1. Если необходимо убить процесс, то попробуйте воспользоваться кодом (как пример реализации) из темы "TMediaPlayer не запускает видео в некоторых версиях Андроида", конкретно, вот эта строчка activityManager->killBackgroundProcesses(PackageName); Только есть одно но, я не уверен, что на всех устройствах "PackageName" будет одинаковым. В общем попробуйте.
  2. Гляньте справку TAlphaColor и TColor. Расчёт идёт на то, что перед использованием чего-либо, вы читали (как минимум) официальную справку.
  3. Что это такое, откуда это: Opponent.Position.X + PosY Выложите весь проект или хотя бы минимальную версию для воспроизведения. У вас два обычных условия. Раз срабатывает второе, значит выполняется условие: (Opponent.Position.X + PosY) <> (Hero.Position.X + PosX )
  4. Вопросы для уточнения: 1) Пропадает коннект или падает само приложение? 2) Клиенты коннектятся с Андроид устройств? Если, ответы: 1) коннект 2) Андроид То: 1) Для начала проверьте галочку, при которой устройство закрывает все коннекты во время режима ожидания Если, ответы: 1) приложение 2) Андроид То: 1) Возможно ваше клиентское приложение потребляет много оперативной памяти устройства, Андроид автоматически находит и вырубает такие приложения. Технология Tethering вам не подходит?
  5. Подтверждаю, тормоза есть, даже при 25 записях (со стандартным стилем). Устройство указано в подписи, проц далеко не слабый... Что я заметил, так это 4 бага в листбоксе и тормоза(всё в XE7 без апдейта), в XE5-XE6 тормозов не было, это хорошо видно например здесь (20 секунда, вначале подлагнул скролл, а потом всё как по маслу (подгружалось более 500 записей/итемов), сейчас постоянно так подлагивает скролл).
  6. Ребят, вы чего тут развели?! Идите в личку общайтесь, заголовок темы совсем о другом...
  7. Посмотрите вот эту страничку http://stackoverflow.com/questions/6064510/how-to-get-ip-address-of-the-device
  8. Используйте Андроид АПИ, например для WiFi, можно вот так "Android API: package "android.net.wifi" или обёртка для работы с Wi-Fi", в комментах есть код для перевода ip адреса из числа. По такому же принципу можно и 3G ip определить. Возможно в АПИ (надо смотреть в справке) есть вообще готовый класс, который выводит общую информацию о соединении, т.е. не зависимо от типа подключения.
  9. Где-то, я уже отвечал на подобный вопрос, но найти что-то не могу... Варианты, которые известны мне: В лоб: Попробовать создать или изменить файл в защищённой директории (уже предложил Alexey Lovchikov) Тут тоже есть свои "камни", я лично не проверял, что будет если права есть, насколько я понимаю, приложение ещё должно запросить эти права Работает на большинстве устройств с рут-правами: Проверить установлено ли приложение SuperSU, если да, то права есть Не точная информация: Была вроде как команда (лучше в гугле посмотреть) для работы с рут-правами, что-то типо этого Runtime.getRuntime().exec("su");
  10. Ваше сообщение конечно адресовано не мне, но всё же выскажусь. Есть пример удалённой темы? Спрашиваю, т.к. имею права модератора и сейчас посмотрел все удалённые за последние дни сообщения/темы и вроде не обнаружил того о чём вы говорите. Есть правило: Удалять из тем, все, что не относится к теме (это флуд, ошибочные или просто бесполезные сообщения, спам и т.п.) Например, частенько вижу ваши сообщения, которые, не несут никакой полезной информации, так ещё в них частенько промелькивает негатив в сторону FMX. Напрашивается вопрос, раз вы так часто говорите, что вас не устраивает FMX, то почему пользуетесь ей/сидите на этом форуме? Про баги: Есть правила форума, там ясно написано, куда слать баги. Про видимость: из компании Embarcadero, форум посещает только Ярослав и то, когда есть свободное время… Уже сто раз отвечали, не устраивает FMX, пишите письмо в компанию или идите на другой форум доказывать всем, что FMX вас не устраивает и вообще всё плохо. Ярослав один из программеров, не менеджер. Что делать со средой, решает не он, более того, даже не в России (насколько я понял из последней презентации XE7 в Москве), всем заведуют Американцы. По поводу «… выслушивайте всех …», смотрите пункт 1 и 4 Ещё ни разу не видел, чтобы была удалена полезная тема Впредь, такие сообщения пишите в личку!
  11. Ну, в данном конкретном случае (исходя из описанной задачи) можно и без синхронизации, а вообще конечно все действия с GUI очень желательно проводить через синхронизацию (т.е. в основном потоке). Я как бы рассчитывал, что человек сам заглянет в справку и разберёт код. Возможно, вы правы и не нужно было выкладывать такой вариант...
  12. Слипом вы подвешиваете главный поток, поэтому кнопка остаётся нажатой. Почему не происходит прорисовка, я точно сказать не могу, но скорее всего связано с подвешенным главным потоком. Чтобы ваш код заработал, можно, например, использовать "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; Можно написать вот так (без синхронизации тоже работает, это у меня уже в привычку вошло, работу с визуальными компонентами в синхронизацию запихивать): Используйте вариант описанный выше. Возможно, есть более лучшее решение...
  13. Как я и сказал: под Андроидом - 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}
  14. В следующий раз, создавайте отдельную тему, эта тема для вопросов по установке. Теперь по вашему вопросу, создайте отдельную тему, например "[FGX]Не работает ActivityDialog" тут FGX → Вопросы / Questions. Не забудьте указать операционную систему. p.s. На Андроиде точно работает, сам использую.
  15. Выложите стиль, так будет проще решить вашу проблему, мы ведь не телепаты
  16. Embarcadero сообщило о каком-нибудь решении ? Нет, к сожалению, решения пока нет, иначе оно было бы по ссылке или в Update 1 для XE7, может в XE8…
  17. Вот, давно уже отрапортовал об этом поведении http://qc.embarcadero.com/wc/qcmain.aspx?d=127108
  18. Rad Studio из коробки умеет работать с zip архивами, единственный (вроде) минус – не работает с запароленными архивами. Модуль System.Zip(Справка), попробуйте воспользоваться им.
  19. Я точно не заводил тем про ActivityManager, наверно перепутали с кем-то... Было бы у меня решение, я поделился бы обязательно, тут многие об этом знают, не зря же я блог создавал. Выложите тестовый проект на Делфях (желательно XE7), я попробую у себя проверить/посмотреть.
  20. Возможно, вам поможет выдача разрешения android.permission.KILL_BACKGROUND_PROCESSES
  21. Microsoft Security Essentials - вирусов нет (ВирусТотал: https://www.virustotal.com/ru/file/1953ba40db388eac65a53bf677a5bbf5dbf8ae12bf375081cac97b199c32105b/analysis/1419343955/) brunnengi, Проверяйте комп. Windows 7 Pro (32 bit): Ошибка
  22. Здравствуйте. 1. Данная проблема вроде была исправлена в след. версиях RAD Studio. Либо обновитесь, либо найдите хотфикс. 2. Отслеживайте сворачивание приложения и ставьте на паузу медиа плеер
  23. Возможно, вы забыли задеплоить файл и прописать новый путь для базы. Посмотрите пример Mobile Tutorial: Using FireDAC and SQLite (iOS and Android).
  24. Не знаю, что вам необходимо, но схема "Нажал на кнопку, открылся выбор даты и времени, выбрал. После этого выбранная дата и время отобразились на кнопке" работает отлично. Вот простой пример: procedure TForm1.Button1Click(Sender: TObject); begin TimeEdit1.OpenPicker; end; procedure TForm1.TimeEdit1Change(Sender: TObject); begin Button1.Text := DateToStr(TimeEdit1.Date); end; Есть ещё события: OnOpenPicker, OnClosePicker ...
×
×
  • Создать...