elxanders
-
Постов
17 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные elxanders
-
-
Цитата
[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 строк, а поскольку сам компилируется он без проблем то в какой части проблема не понятно, даже страшно представить сколько суток уйдет на поиск ручками.
Кто-нибудь встречался с такой ошибкой? Есть идеи в каком направлении копать?
-
В 08.06.2018 в 12:59, Равиль Зарипов (ZuBy) сказал:
не совсем понятно чем обычный THTTPClient не угодил?
Можно перефразировать вопрос: не совсем понятно, зачем download service придумали, если есть Thttp?
А если файл большой? А если связь нестабильная? А если пользователь забудет о закачке и выйдет из приложения и ОС прибьет поток? Если есть готовое удобное решение, зачем самостоятельно прямоугольное колесо лепить?
-
Собственно, в мультиплатформенном (Win+Android+iOS) приложении нужно скачать с вебсайта архив во временную папку и распаковать затем в папку приложения. Делается для того, чтобы не деплоить кучу файлов не всем нужных в само приложение и не раздувать его размер.
Для андроида компонент быстро нашелся (кроме того там можно и внешний файл под установщик залить) а под айос ничего не гуглится, и не очень понятно как реализовывать...
-
Да, спасибо, уже разобрался
В info.plist.TemplateiOS.xml нужно вставить в <dict>
<key>CFBundleLocalizations</key> <array> <string>en</string> <string>ru</string> <string>it</string> <string>pt</string> </array>
-
Программа переведена на несколько языков, но App Store показывает только английский.
В параметрах есть только CFBundleDevelopmentRegion (который язык по умолчанию), больше ничего не нахожу.
Гугление вывело на параметр CFBundleLocalizations (array) но как его заюзать в Delphi непонятно
-
Есть ли возможность прочитать текст (озвучить строку голосом?).
-
В 07.06.2017 в 03:30, Fedor K сказал:
elxanders скиньте пожалуйста пример своего проекта, я посмотрю в чем дело.
Спасибо за отзыв, к сожалению, проект сюда кинуть не получится, а демку лепить лень, тем более в результате решил избавляться от TLang и использовать собственный модуль для локализации - TLang под Андроидом еще и не всегда определяет язык системы и вместо локального у пользователей отображает английский.
Если вдруг поможет - описанный эффект имел место быть только под Windows, под Андроидом в этом же проекте не наблюдался.
-
Ок, понял, спасибо. Метод проблему решает частично - внутри контейнера значения не трогаются, но при раскрытии списка он все равно их переводит. Фиг с ним, главное по itemindex выдает оригинальное значение. Но мне все равно кажутся довольно бредовыми подобные телодвижения. Если у контейнера есть свойство, то почему содержимое не наследует его - не очень понятно.
-
Речь не о TListBox (с ним как раз проблем нет) а о TComboBox - который выпадающий список.
Опять столкнулся с этой же проблемой - заполняю список называниями папок, он вместо Black вводит Чёрный, т.к. на соседней форме есть такая Label с Autotranslate.
-
Ситуация элементарная - приложение получает список файлов в папке, запихивает его в Combobox и предъявляет пользователю для выбора. Версия - 10.1
Имеем проблему - TLang лезет переводить всё, что туда добавляется. Соответственно, если какое-то имя файла совпадает со словом в списке перевода то он его локализует. В дизайне свойства AutoTranslate у Combobox нет, в рантайме если выставить AutoTranslate:=false; перед очищением и заполнением никакого эффекта не оказывает.
Самое смешное, что:
а) на этой форме TLang нет, он есть только на соседних, где действительно нужно делать перевод
б) на соседней форме есть комбо, который заполнен в дизайне - так его Tlang переводить не хочет, только первую строчку, пришлось при открытии писать процедуру которая переводит принудительно.
Я уже понял, что Tlang слишком глючный, и проще всего видимо будет самому написать компонент для перевода, но на это придется убить целый день. Может можно малой кровью обойтись, если кто сталкивался?
-
С телефоном тоже разобрался. В манифесте стоит android:versionName="4.0.8", а в телефоне версия Андроида 4.0.4
Работает всё прекрасно. Сижу думаю имеет смысл понижать ручками версию в манифесте или нет...
-
Ок спасибо за отзывы, за ссылку на описание манифеста, но он в принципе и был пустой, скидывать сюда смысла нет, выставлен только 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 карта работает.
В общем фиг его знает, надеюсь массово это никакие последствия не потянет..
-
То что кратко - было и так понятно, кэп и ссылки гуглились в первых строчках, но особо их них полезной информации не извлечь.
Меня интересует вопрос, как "проверяйте манифест" относится к компилятору Delphi? Ручное редактирование манифеста вроде как не предусматривается вообще. Но первый вопрос собственно возникает - с числом поддерживаемых/неподдерживаемых устройств из-под Delphi у остальных опубликованных приложений такая же ситуация? И куда копать в плане настроек проекта именно в Дельфи, а не расстановка костылей в скомпилированном приложении. Разрешения и так вроде минимальные - storage, календарь...
-
Может кто в курсе - опубликовал приложение из Delphi в маркете.
Пишет: Поддерживаемые устройства:12210 Неподдерживаемые устройства:2981
Всё бы ничего, но один из моих телефонов в списке неподдерживаемых, а именно на нём я и тестировал, и никаких проблем естественно не наблюдал.
Ок, публикую второе приложение:
Поддерживаемые устройства:11021 Неподдерживаемые устройства:4170
Настройки компилятора вроде практически те же, цифры уже другие, и как-то треть неподдерживаемых выглядит уже совсем многовато, ибо приложения ничего особенного в принципе не делают. Перерыл весь инет в поисках чего там такого может быть в манифесте, что приводит к таким результатам. Написал в поддержку, с просьбой пояснить ситуацию и отправить в сторону какого-нибудь мануала по этому поводу. Тишина. Потом смотрю - мой телефон уже в списке поддерживаемых. Ну думаю, замечательно. Один изменили, а 4169 моделей так и останутся нерабочими. К тому же новый APK загружу - явно опять вернется обратно.
Потом пишет юзверь - мол, не могу из маркета установить. На телефон нормально, на планшетку не хочет. Модель Nexus 7, смотрю в списке - он там вообще в нескольких ипостасях, какие-то зеленые, какие-то серые. Отправил APK напрямую - установил, сказал что никаких проблем нет.
Собственно - кто с таким сталкивался, и как можно победить/предупредить такое разрастание списка неподдерживаемых устройств?
-
В приложении (по событию OnMouseDown - если вдруг имеет значение) в цикле на TImage.BitMap.Canvas производится отрисовка серии изображений, с некоторой задержкой (~слайд шоу).
Проблема в том, что картинка не обновляется. То есть мы видим начальную картинку, пауза, конечную картинку. Если после каждой отрисовки вставлять Application.ProcessMessages - всё нормально, но проблема в том, что приложение тогда параллельно начинает обрабатывать события, что напрочь рушит последовательную логику работы. Судя по всему придется заморочиться с синхронизацией событий, но может есть какой-то более простой способ, кроме ProcessMessages? Просто Repaint не дает ничего.
-
В 20.07.2015 в 19:45, Brovin Yaroslav сказал:
Можно использовать прозрачный стиль эдита 'TransparentEditStyle'. В таком стиле эдит отображает только текст. В таком случае, Вы можете подложить под TEdit любую подложку. Или же сделать новый стиль на базе стиля по умолчанию.
Возник тот же вопрос - нужно сделать фон на Андроиде непрозрачным. Прочитал комменты вверху, сделал CustomStyle, прицепил его к TEDit, в StyleLookUp стоит всё верно, в designtime отображается всё как нужно - белый прямоугольник. Запускаю на Андроиде - нифига, как был прозрачный с полоской так и остался. Что может быть не так? Есть конечно вариант поместить под TEDit белый прямоугольник, но такой костыль как-то это ненормально выглядит
Ошибка linking в 32 бит
в iOS
Опубликовано
Если кто столкнется - проблема обнаружилась в наличии статического массива в модуле. Решилась определением массива как динамического и установкой размера в секции инициализации.