Tumaso
Пользователи-
Постов
356 -
Зарегистрирован
-
Посещение
-
Победитель дней
41
Весь контент Tumaso
-
У winsoft есть библиотеки работы с com-портами под андроид: https://www.winsoft.sk/acomport.htm
-
Мне вот интересно, в 10.3 будет горизонтальный TListView из коробки?
-
У Эмбы есть описание подобной проблемы: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Migrating_Delphi_Code_to_Mobile_from_Desktop, раздел Use a Function Call in a try-except Block to Prevent Uncaught Hardware Exceptions условно говоря, код, который может вызвать аппаратное исключение, нужно вызывать из другой процедуры, и исключение ловить уже там. Это справедливо не только для iOS, но для андроида тоже. пример: procedure InternalG1; begin try // что то, приводящее к исключению except // здесь обработчик по факту игнорируется end; end; procedure G1; begin try InternalG1; except // здесь обработчик корректно обработает исключение end; end; А вообще у Grijjy team есть хорошая библиотека обработки необработанных исключений для андроида и иоса.
-
@Alex7wrt, устанавливают в том числе и новые пользователи на старых версиях андроида, и у них работает. minSdkVersion для этого. Что касается targetSDK, то этим значением приложение уведомляет операционку, что возможно будет использовать api вплоть до данной версии. targetSDK 27 пока не использовал, только 26, и все что надо работает. В самом коде делаю анализ текущей версии SDK, и в зависимости от нее возможно делаю дополнительные действия. Вот например, работа с правами: {$IFDEF ANDROID} // для Android 6+ требуется дополнительная работа с правами if TJBuild_VERSION.JavaClass.SDK_INT >= 23 then begin if (TAndroidHelper.context.checkSelfPermission( StringToJString(PERMISSION_FILE_READ) ) = TJPackageManager.JavaClass.PERMISSION_DENIED) or (TAndroidHelper.context.checkSelfPermission( StringToJString(PERMISSION_FILE_WRITE) ) = TJPackageManager.JavaClass.PERMISSION_DENIED) then begin // необходимо запросить разрешение на использование галереи LIsWaitPermissions := True; TAndroidHelper.Activity.requestPermissions( CreateJavaStringArray([PERMISSION_FILE_READ, PERMISSION_FILE_WRITE]), BUTTON_FILE ); end; end; {$ENDIF}
-
У делфи большой плюс - кроссплатформенность. У меня реально 90% единого кода для виндов, андроида и иоса. Специфичного для каждой платформы не так и много, по большому счету. Писать отдельно в андроид студии, отдельно в xcode, отдельно в делфи с VCL реально не очень хочется Заказчикам то пофиг, они хотят как минимум мобильные приложения сразу и для андроида и для иоса.
-
Я к тому, что все больше заказчиков хотят в своих приложениях иметь карты со своими разнообразными элементами поверх карты. И реально уже непонятно, получим ли мы такой функционал в делфи, или нет. Одно дело подождать до конца года и получить наконец работающий z-order, или плюнуть и реально перейти на андроид студию.
-
Ммм, может вы запустите свое приложение в режиме отладки и найдете место, инициирующее исключение?
-
Не переживайте насчет затрат для разработки под iOS - яблочников можно отлично доить, так что всё окупится)
-
Проведение тестирования нужно заказывать дополнительно, по умолчанию его нет
- 6 ответов
-
- ферма
- firebase test lab
-
(и ещё 1 )
C тегом:
-
Align не решает всех проблем с необходимым расположением контролов. В простых случаях - да, но только чуть сложнее логика размещения, и тут только программно)
- 8 ответов
-
- delphi
- firemonkey
-
(и ещё 2 )
C тегом:
-
При запуске приложения определяете текущее разрешение, программно вычисляете размеры и положения компонент и программно применяете их. При OnResize у формы всё пересчитываете..
- 8 ответов
-
- delphi
- firemonkey
-
(и ещё 2 )
C тегом:
-
@ENERGY, я сделал вывод текста в tpaintbox, после чего копирую полученный битмап в TListView, искажения текста ушли. Почему прямое рисование искажает, я пока не понял - вроде все коэффициенты и размеры один к одному. Так что уже неактуально. А вот насчет рисования кругов со сглаживанием через nativeAPI, можно поподробнее? А то TCircle в андроиде это полный треш
-
Если бы не было этой проблемы, я бы ее и не спрашивал бы, как с ней бороться. Суть в том, что я использую TListView с динамической высотой элементов (высота может быть различной) и динамической формированием элементов. В качестве шрифта используется устанавливаемый с приложением шрифт (если быть точным - plumb). Изначально я формировал изображение, рисуя на Bitmap у ListView.ItemAppearance.Item.TImageObjectAppearance. В данной ситуации FillText при выводе теста, содержащего больше одной строки, приводил к формированию текста с небольшим искажением, но при этом текст в одну строку выводится без проблем. В качестве решения я использовал формирование в промежуточном буфере на базе TPaintBox, после чего копировал сформированное изображение в Bitmap. Искажения текста исчезли. Почему в исходном варианте наблюдается такое поведение FillText, я не знаю. Все scales, width / height и т.д. рассчитываются верно. Поэтому предлагаю лично вам свое мнение об этой проблеме и способах ее решения либо оставить при себе, либо озвучивать в другой теме. Желаете, что бы я начал комментировать ваши рассуждения об использовании FMX на этом форуме? )))))))))) Сразу отвечаю на замечание ENERGY - формируемые изображения кэшируются, ListView заполняется в коде очень быстро, и также шустро работает, скролится без лагов. Для пользователей программы это важно, по моему скромному мнению.
-
Так я же уже решил проблему, путем построения промежуточного буфера в TPaintBox вместо TBitmap, теперь многострочный текст не искажается...