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

elxanders

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

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

  • Посещение

Сообщения, опубликованные elxanders

  1. Цитата

    [DCC Error] E2597 ld: unknown ARM scattered relocation type 4 for architecture armv7
    [DCC Fatal Error] F2588 Linker error code: 1 ($00000001)

    При сборке проекта выходит такая ошибка. В 64 бита проект собирается и запускается без проблем, под симулятором тоже, в том числе и на iphone 4s, который тоже должен быть 32-битный. А под устройство в 32 - вот такая фигня.

    Никакой информации в инете нет. Кроме одного упоминания в форуме, что такую ошибку вызывала какая-то функция, переписав которую удалось от нее избавиться. Модуль, который вызывает это локализовать конечно удалось, но в нем 5000 строк, а поскольку сам компилируется он без проблем то в какой части проблема не понятно, даже страшно представить сколько суток уйдет на поиск ручками. 

    Кто-нибудь встречался с такой ошибкой? Есть идеи в каком направлении копать?

  2. В 08.06.2018 в 12:59, Равиль Зарипов (ZuBy) сказал:

    не совсем понятно чем обычный THTTPClient не угодил?

    Можно перефразировать вопрос: не совсем понятно, зачем download service придумали, если есть Thttp? :)

    А если файл большой? А если связь нестабильная? А если пользователь забудет о закачке и выйдет из приложения и ОС прибьет поток? Если есть готовое удобное решение, зачем самостоятельно прямоугольное колесо лепить?

  3.  

    Собственно, в  мультиплатформенном (Win+Android+iOS) приложении нужно скачать с вебсайта архив во временную папку и распаковать затем в папку приложения. Делается для того, чтобы не деплоить кучу файлов не всем нужных в само приложение и не раздувать его размер.

    Для андроида компонент быстро нашелся (кроме того там можно и внешний файл под установщик залить) а под айос ничего не гуглится, и не очень понятно как реализовывать...

  4. Программа переведена на несколько языков, но App Store показывает только английский.

    В параметрах есть только CFBundleDevelopmentRegion (который язык по умолчанию), больше ничего не нахожу. 

    Гугление вывело на параметр CFBundleLocalizations (array) но как его заюзать в Delphi непонятно

  5. В 07.06.2017 в 03:30, Fedor K сказал:

    elxanders скиньте пожалуйста пример своего проекта, я посмотрю в чем дело.

    Спасибо за отзыв, к сожалению, проект сюда кинуть не получится, а демку лепить лень, тем более в результате решил избавляться от TLang и использовать собственный модуль для локализации - TLang под Андроидом еще и не всегда определяет язык системы и вместо локального у пользователей отображает английский.

    Если вдруг поможет - описанный эффект имел место быть только под Windows, под Андроидом в этом же проекте не наблюдался.

  6. Ок, понял, спасибо. Метод проблему решает частично - внутри контейнера значения не трогаются, но при раскрытии списка он все равно их переводит. Фиг с ним, главное по itemindex выдает оригинальное значение. Но мне все равно кажутся довольно бредовыми подобные телодвижения. Если у контейнера есть свойство, то почему содержимое не наследует его - не очень понятно.

    combo.jpg

  7. Речь не о TListBox (с ним как раз проблем нет) а о TComboBox - который выпадающий список.

    Опять столкнулся с этой же проблемой - заполняю список называниями папок, он вместо Black вводит Чёрный, т.к. на соседней форме есть такая Label с Autotranslate.

  8. Ситуация элементарная - приложение получает список файлов в папке, запихивает его в Combobox и предъявляет пользователю для выбора. Версия - 10.1

    Имеем проблему - TLang лезет переводить всё, что туда добавляется. Соответственно, если какое-то  имя файла совпадает со словом в списке перевода то он его локализует. В дизайне свойства AutoTranslate  у Combobox нет, в рантайме если выставить AutoTranslate:=false; перед очищением и заполнением никакого эффекта не оказывает.

    Самое смешное, что:

    а) на этой форме TLang нет, он есть только на соседних, где действительно нужно делать перевод

    б) на соседней форме есть комбо, который заполнен в дизайне - так его Tlang переводить не хочет, только первую строчку, пришлось при открытии писать процедуру которая переводит принудительно.

    Я уже понял, что Tlang слишком глючный, и проще всего видимо будет самому написать компонент для перевода, но на это придется убить целый день. Может можно малой кровью обойтись, если кто сталкивался?

  9. С телефоном тоже разобрался. В манифесте стоит android:versionName="4.0.8", а в телефоне версия Андроида 4.0.4

    Работает всё прекрасно. Сижу думаю имеет смысл понижать ручками версию в манифесте или нет...

  10. Ок спасибо за отзывы, за ссылку на описание манифеста, но он в принципе и был пустой, скидывать сюда смысла нет, выставлен только EXTERNAL STORAGE. но, собственно, что говорит Embarcadero по этому поводу ;)

    Цитата

    Usually, you do not need to touch this file, and you can let RAD Studio take care of everything for you. 

    Судя по всему, основная проблема была действительно банально в отсутствии скриншотов для планшетов. Теперь всё вроде в порядке:

    Поддерживаемые устройства:13569 Неподдерживаемые устройства:1670

    Nexus 7, на который жаловались теперь горит зеленым во всех ипостасях. 

    Но! Мой телефон всё равно в списке неподдерживаемых (Panasonic Eluga DL1). В чем прикол понять не могу. Ничего особенного в нем нет, телефон как телефон. Единственное - слота для SD нет, вначале подумал что EXTERNAL STORAGE так отрабатывается. Но SD собственно нет у половины телефонов, тогда список был бы длинее, внутренняя память-то все равно как SD карта работает.

    В общем фиг его знает, надеюсь массово это никакие последствия не потянет..

     

  11. То что кратко - было и так понятно, кэп :) и ссылки гуглились в первых строчках, но особо их них полезной информации не извлечь.

    Меня интересует вопрос, как "проверяйте манифест" относится к компилятору Delphi? Ручное редактирование манифеста вроде как не предусматривается вообще. Но первый вопрос собственно возникает - с числом поддерживаемых/неподдерживаемых устройств из-под Delphi у остальных опубликованных приложений такая же ситуация? И куда копать в плане настроек проекта именно в Дельфи, а не расстановка костылей в скомпилированном приложении.  Разрешения и так вроде минимальные - storage, календарь...

  12. Может кто в курсе - опубликовал приложение из Delphi в маркете. 

    Пишет: Поддерживаемые устройства:12210 Неподдерживаемые устройства:2981

    Всё бы ничего, но один из моих телефонов в списке неподдерживаемых, а именно на нём я и тестировал, и никаких проблем естественно не наблюдал.

    Ок, публикую второе приложение:

    Поддерживаемые устройства:11021 Неподдерживаемые устройства:4170

    Настройки компилятора вроде практически те же, цифры уже другие, и как-то треть неподдерживаемых выглядит уже совсем многовато, ибо приложения ничего особенного в принципе не делают.  Перерыл весь инет в поисках чего там такого может быть в манифесте, что приводит к таким результатам. Написал в поддержку, с просьбой пояснить ситуацию и отправить в сторону какого-нибудь мануала по этому поводу. Тишина. Потом смотрю - мой телефон уже в списке поддерживаемых. Ну думаю, замечательно. Один изменили, а 4169 моделей так и останутся нерабочими. К тому же новый APK загружу - явно опять вернется обратно.

    Потом пишет юзверь - мол, не могу из маркета установить. На телефон нормально, на планшетку не хочет. Модель Nexus 7, смотрю в списке - он там вообще в нескольких ипостасях, какие-то зеленые, какие-то серые. Отправил APK напрямую - установил, сказал что никаких проблем нет.

    Собственно - кто с таким сталкивался, и как можно победить/предупредить такое разрастание списка неподдерживаемых устройств?

  13. В приложении (по событию OnMouseDown - если вдруг имеет значение) в цикле на TImage.BitMap.Canvas производится отрисовка серии изображений, с некоторой задержкой (~слайд шоу).

    Проблема в том, что картинка не обновляется. То есть мы видим начальную картинку, пауза, конечную картинку. Если после каждой отрисовки вставлять Application.ProcessMessages - всё нормально, но проблема в том, что приложение тогда параллельно начинает обрабатывать события, что напрочь рушит последовательную логику работы. Судя по всему придется заморочиться с синхронизацией событий, но может есть какой-то более простой способ, кроме ProcessMessages? Просто Repaint не дает ничего.

  14. В 20.07.2015 в 19:45, Brovin Yaroslav сказал:

    Можно использовать прозрачный стиль эдита 'TransparentEditStyle'. В таком стиле эдит отображает только текст. В таком случае, Вы можете подложить под TEdit любую подложку. Или же сделать новый стиль на базе стиля по умолчанию.

    Возник тот же вопрос - нужно сделать фон на Андроиде непрозрачным. Прочитал комменты вверху, сделал CustomStyle, прицепил его к TEDit, в StyleLookUp стоит всё верно, в designtime отображается всё как нужно - белый прямоугольник. Запускаю на Андроиде - нифига, как был прозрачный с полоской так и остался. Что может быть не так? Есть конечно вариант поместить под TEDit белый прямоугольник, но такой костыль как-то это ненормально выглядит :)

×
×
  • Создать...