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

voytalexey

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

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

  • Посещение

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

    1

voytalexey стал победителем дня 15 февраля 2015

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

Информация о voytalexey

  • День рождения 01.02.1971

Информация

  • Пол
    Мужчина
  • Город
    Санкт-Петербург

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

933 просмотра профиля
  1. А на Самсунге какая версия Андроида? Может просто созданный вами apk-файл требует версии выше чем 4.1.2
  2. Вы путаете две разные ситуации: неправильную работу программы и неправильную работу отладчика (он же дебаггер). Думаю, у вас второй вариант, ибо SetLength настолько много где используется, что сбой в её работе давно бы заметили. У меня в проектах для Андроида в XE6 она отрабатывает без проблем. Некорректная работа отладчика более вероятна, но это, строго говоря, не влияет на поведение готовой программы.
  3. Может кто-нибудь подсказать как использовать OnCompletionListener в работе с нативными объектами Android? Мне надо произвести простейшие действия по окончании проигрывания видеофайла. Для этого предназначена коллбек процедура OnCompletionListener. Но ни одного примера на Дельфи я в Гугле и Яндексе не нашел. А те примеры что нашел затрудняюсь перевести на Дельфи. Наиболее часто встречается что-то типа такого: mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mediaPlayer) { Toast.makeText(MainActivity.this, "I'm Finished", Toast.LENGTH_SHORT); } или такое: mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { finish(); // finish current activity } }); Возможно ли подобную конструкцию реализовать на дельфийском паскале?
  4. Пока сделал на базе TJVideoView и TJDialog примерно как описано в http://fire-monkey.ru/topic/2154-native-android-videoview/ В этом случае смог воспользоваться методом FDialog.hide. Так что срочный костыль нашелся, теперь буду спокойно искать более изящное решение.
  5. Попробовал. Не помогло. Более того, вообще удалил MediaPlayerControl с формы, а поведение не изменилось. Похоже, для Андроида он не нужен, достаточно только MediaPlayer-а.
  6. Уточню вопрос. Задача не в том чтоб узнать об окончании воспроизведения (это я могу сделать по таймеру проверяя состояние плеера). Проблема в том что он остаётся поверх моей формы, и вот как мне заставить его убраться я не знаю.
  7. В DelphiXE6, проект под Андроид, на свою форму кладу Mediaplayer, по кнопке задаю ему файл и вызываю метод Play. По окончании проигрывания файла на экране висит либо последний кадр, либо черный экран (на двух устройствах по-разному). Для того чтоб снова увидеть свою форму приходится нажимать вручную системную кнопку "Назад". Как можно сделать чтоб окно проигрывателя скрывалось само и показывалась моя форма без участия пользователя сразу по окончании файла видео?
  8. Маленькое замечание: варианты Вячеслава от 01:45 и Alex7wrt от 23:42 дают неравномерное распределение.случайных точек. Вариант Brovin Yaroslav от 15:33 даёт равномерное распределение.
  9. Просил проверить мой тестовый APK на форуме 4pda.ru других владельцев данного девайса, результаты оказались разные. Производитель выпускал девайс с двумя вариантами прошивки. В одной дельфийские APK нормально работают, в другой, более поздней, уже нет. Перепрошил планшет на первичную прошивку, все мои проекты заработали. Придётся жить с этой прошивкой, хотя она и глючная. Настройки Android Tools оказались совсем не причём.
  10. Пытаюсь запускать явные активности используя startActivityForResult(intent: JIntent; requestCode: Integer); Пока requestCode не использовал и оставлял нулевым, проблем не было. Но вот решил его использовать, и начались проблемы. При requestCode=1 вызывающее приложение падает в момент возврата с невнятным сообщением: "В приложении ProjectAAA произошла ошибка". При requestCode=2 вызывающее приложение не падает, но и в обработчик коллбека не попадает. При requestCode >= 3 вроде всё работает. Почему такое поведение? В документации я таких ограничений на значение requestCode не увидел. Для проверки сделал ProjectGroup из двух приложений, вызывающего ProjectAAA и вызываемого ProjectBBB, залил сюда: https://yadi.sk/d/KawBTcv3eh3SF Проверял на Delphi XE6. Вопросы: 1. Почему такое поведение? 2. Какой диапазон значений можно спокойно использовать на наступая на эти грабли?
  11. Нет никакого java-кода в генерируемом APK. Дельфя компилит сразу в машинный код под процессоры серии "ARMv7 processor with NEON support" http://blog.blong.com/2013/09/delphi-for-android-aka-delphi-xe5-aka.html
  12. Возможно, это связано с разными настройками десятичных разделителей в разных языках. Вы используете функцию преобразования StrToFloat с настройками по-умолчанию. Подозреваю, что в разных языках эти умолчания различные. Попробуйте использовать вариант этой функции с двумя параметрами, где формат строкового представления задаётся явно: function StrToFloat(const S: string; const AFormatSettings: TFormatSettings): Extended; и задайте AFormatSettings такое как у вас записаны данные в текстовом файле.
  13. Загрузить текстовый файл в Мемо в андроиде не проблема, делается так же как в винде. А вот запросить у пользователя путь к файлу - вот это проблема. Готовых работающих компонентов нет. Можно делать самому, идею как сделать можно почерпнуть тут (http://delphifmandroid.blogspot.ru/p/blog-page_27.html), в разделах про файловый менеджер.
  14. Нашел ответ в теме "В каких координатах выполняется отрисовка на канве?"
  15. Пытаюсь рисовать в PaintBox, но выходит что-то странное. Пытаюсь для начала залить его цветом, пробовал два варианта: procedure TForm1.PaintBox1Paint(Sender: TObject; Canvas: TCanvas); begin canvas.Clear(TAlphaColorRec.Greenyellow); <- вариант 1: заливает всю форму PaintBox1.canvas.Clear(TAlphaColorRec.Greenyellow); <- вариант 2: опять заливает всю форму end; Но оба варианта заливают всю форму вместо того чтоб залить только сам PaintBox. Проверял в ХЕ6. В хелпе написано так: Canvas: The drawing surface of the object to be paint Я думал что это поверхность самого PaintBox, а получаю залитой всю форму. И даже во втором варианте, где явно указан компонент. Почему такое странное поведение?
×
×
  • Создать...