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

Alexandr Suvorov

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

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

  • Посещение

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

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Alexandr Suvorov

  1. Вопрос решился. Все было в том, что с API31 в файле AndroidManifest.xml в раздел <activity> добавили параметр (android:exported="true") И при переезде с более старых версий Delphi на новую, этот файл необходимо удалить, чтоб среда разработки создала его заново. Вот что нужно сделать (пеервод Гугл): Обеспечение актуальности файла AndroidManifest.template.xml. Если у вас есть существующий проект приложения FireMonkey для платформы Android из предыдущей версии RAD Studio, вам необходимо удалить файл AndroidManifest.template.xml из корневого каталога вашего проекта. Перед запуском RAD Studio выполните следующие шаги, чтобы убедиться, что файл AndroidManifest.template.xml устанавливает значение для экспортируемого атрибута в объявлении действия FMXNativeActivity: 1. Перейдите в %AppData%\Embarcadero\BDS\22.0каталог. 2. Удалите файл AndroidManifest.xml. 3. Перейдите в корневой каталог вашего приложения. 4. Удалите файл AndroidManifest.template.xml. При следующем запуске RAD Studio и сборке приложения FireMonkey будет автоматически создана обновленная версия файла AndroidManifest.template.xml. оригинальная ссылка: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Android_Application_Manifest_File_(AndroidManifest.xml)
  2. Добрый день. Было написано приложение на Delphi 11.1 (SDK30) и опубликовано в Google Play. Обновил приложение, при попытке выгрузить в Google Play получаю сообщение, что целевой уровень API должен быть не ниже 31. Установил Delphi 11.2 (SDK31). Перекомпилел приложение, Google Play принял его. И теперь, при обновление у пользователей, те у которых телефоны на Android 12 все работает нормально. Но у пользователей, у которых телефоны на Android 11, 10 и ниже, приложение просто не запускается. Кто сталкивался с данной ситуацией? Куда капать?
  3. Спасибо за совет, по пробую с этой функцией. Я не правильно изложил суть проблемы. Строка от сервера ложится во входной буфер TIdTCPClient (например): 255_85_text1_255_170_255_85_text2_255_170_255_85_text3_255_170 С помощью функции: TIdTCPClient.IOHandler.Readln s:=indy_OnLine.IOHandler.ReadLn(#255#170,IndyTextEncoding_OSDefault); получаю три строки, удаляю первые два символа: text1 text2 text3 Если переключить язык системы iOS iPad на Английский, то функция TIdTCPClient.IOHandler.Readln - не может с буфера считать строки. В ответ возвращает пустую строку, а в буфере так и остаются данные. Вопрос: почему так происходит и как изъять строки?
  4. Доброго времени суток. Борюсь с проблемой пару тройку дней, перерыл все что можно и зашел в тупик. Ситуация в следующем: Сервер (крутится на линуксе) отправляет строки в формате: заголовок 2 байта, текст, конец строки 2 байта 255 85 text1 255 170 255 85 text2 255 170 ... Клиентская программа работает на iPad (iOS=14.7.1), с помощью компонента TIdTCPClient принимаю строки: s:string; s:=indy_OnLine.IOHandler.ReadLn(#255#170,IndyTextEncoding_OSDefault); Все отлично работает, пока в настройках iPad установлен язык системы Русский Как только меняем язык системы на English (или любой другой), прем данных полностью прекращается. IOHandler.ReadLn - ничего не может принять, или не может считать, полная тишина. Я перепробовал все возможные кодировки текста: function IndyTextEncoding_Default: IIdTextEncoding; function IndyTextEncoding_OSDefault: IIdTextEncoding; function IndyTextEncoding_8Bit: IIdTextEncoding; function IndyTextEncoding_ASCII: IIdTextEncoding; function IndyTextEncoding_UTF16BE: IIdTextEncoding; function IndyTextEncoding_UTF16LE: IIdTextEncoding; function IndyTextEncoding_UTF7: IIdTextEncoding; function IndyTextEncoding_UTF8: IIdTextEncoding; не помогло, функция ReadLN не может принять данные, или тупо ничего не видит. Подскажите пожалуйста в какую сторону капать? Возможно это связано с языковым пакетом, но только как это связано?
×
×
  • Создать...