-
Постов
568 -
Зарегистрирован
-
Посещение
-
Победитель дней
57
Сообщения, опубликованные ENERGY
-
-
Так пуш же сможет прийдти только если программа запущена. В остальных случаях ничего не прийдет.
Вот есть 2 статьи как сделать правильный пуш
-
Какой то странный у вас пуш, который совсем не пуш. А что будет, если сервер отправит пуш уведомление, а программа в этом время не будет запущена?
-
-
C AMD есть решения, но процессор должен поддерживать AMD-V. Но и с этим тоже будут проблемы, я пробовал запустить виртуалку заточенную под AMD на своем ПК, но не получилось, вываливались разные ошибки при запуске. Мне кажется даже если удастся все запустить, появятся очередные баги. Именно поэтому я так и написал - "не пойдет", это не категоричное нет.
С Intel у меня все запустилось с первого раза. Насколько я понял, процессор тоже должен поддерживать виртуализацию.
-
2 часа назад, Евгений Корепов сказал:
Имхо тогда уже лучше купить обычный ноут под Win с Intel и на нем запустить виртуалку. Это более универсальное решение. Мне решение с виртуальной машиной больше нравится, т.к в VMWare удобно создавать образы всей системы. Особенно это актуально перед обновление системы или Xcode. Не работает после обновления? Пару кликов и ты вернулся к рабочей версии.
Ну или MacMini, тоже бюджетное решение.
-
Вы используете это https://fmxlinux.com/ для Linux GUI?
-
В 25.09.2018 в 07:27, Равиль Зарипов (ZuBy) сказал:
В Берлине и ниже метод Clear не чистил за собой и правильно будет чистить циклом как в примере выше
Это справедливо только когда данные в ЛВ перезаполняются
Именно в Берлине я и проверял - под Windows и iOS - деструктор вызывается. Под остальными ОС не проверял, но думаю там тоже все ок.
Что значит "перезаполняются"?
-
Необходимый минимум -
iPhone или iPad. iPhone нужен от 5s и выше. 5 уже не пойдет, т.к. 32 битный.
100$ - купить сертификат разработчика у Apple.
MacOS можно запускать на виртуальной машине, готовые образы Vmware, с установленой системой, есть на рутрекере. Для работы нужен реальный процесор Intel, с AMD не пойдет.
Настройка всего этого может занять пару дней, а то и больше.
-
В 10.01.2015 в 13:12, ruslan сказал:
а вот в TListViewItems.Clear просто чистится TList<TListViewItem>. как известно TList это просто список указателей. так что сама память при ListView.Items.Clear как я понимаю не освободится.
Это неверно. Все TListViewItem корректно уничтожаются и освобождаются в Clear.
Чтобы это проверить, достаточно поставить точку останова на TListItem.Destroy;
А предложенный вами код это очень не оптимизированное и медленное решение, с перерассчетом всех индексов при каждом удалении айтема.
-
Может перенести эту тему в секцию форума Android?
-
{$IFDEF ANDROID} Uses Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers, Androidapi.JNI.JavaTypes, Androidapi.JNI.Net; {$ENDIF} procedure btnPdfClick(Sender: TObject); var lName : String; {$IFDEF ANDROID} Intent : JIntent; URI : Jnet_Uri; {$ENDIF} begin lName := TPath.GetSharedDownloadsPath + PathDelim + 'test.pdf'; {$IFDEF ANDROID} URI := TJnet_Uri.JavaClass.parse(StringToJString('file:///' + lName)); intent := TJIntent.Create; intent.setAction(TJIntent.JavaClass.ACTION_VIEW); intent.setDataAndType(URI,StringToJString('application/pdf')); SharedActivity.startActivity(intent); {$ENDIF} end;
-
Правильно. Фреймворк будет смотреть на значение в Scale - если оно будет около системного значения, то загрузит нужную картинку. Иногда, чтобы убедиться что картинка загружается, я раскрашиваю их в разные цвета.
Offtop:
Иногда я беру картинку с разрешением scale 3 и оставляю только одну картинку указывая Scale 1 (т.е. на деле у нее разрешение scale 3). TImage или TGlyph сделает авторесайз под размер компонента, но не всегда качественный авторесайз получается, нужно смотреть на результаты. Вообще (не только в Delphi), растровую картинку можно уменьшить почти без потери качества, а вот если ее увеличить - то тогда будет плохое качество - появятся растровые квадраты и картинка не будет выглядеть сглаженной. Поэтому не увеличивайте картинки малых разрешение, до более высокого.
-
2 часа назад, Hangar-18 сказал:
SpeedButton вы не расположите поверх всех элементов, например ListBoxa с прокруткой. То есть кнопка на основе SpeedButton не будет "floating".
Ваш же метод прекрасно работает.
Почему это не расположу? Кликаем правой кнопкой в Design Time по контролу, и выбираем Control > BringToFront. Также метод BringToFront и SendToBack есть в runtime у каждого контрола.
Кнопка должна находится на форме (ее Parent).
-
-
-
Если включить Full screen у формы, останется полоса?
-
А в новом пустом проекте также?
-
А какой Android у вас? С 6 и выше HTTPS не работает в Indy. Нужно использовать THttpClient
-
Все переменные в пост https запросе шифруются, ничего делать не надо.
Уже много раз обсуждали, что лучше использовать THttpClient ,вместо Indy компонентов. Т..к. https не работает на Android 6 и выше с Indy. И в целом он более стабильный чем Indy.
-
Может кому то пригодится.
Победить Linker Error 1 просто. И iOS SDK 11 и больше прекрасно компилиться и работает на Берлине.
В логах ошибки пишет что ld: file not found: /System/Library/Frameworks/FileProvider.framework/FileProvider for architecture arm64
Значит нужно добавить его в SDK
Tools -> Options -> SDK Manager - выбираем свой SDK и добавляем по аналогии с уже имеюищимися путями: Add:
$(SDKROOT)/System/Library/Frameworks
FrameworkName: FileProvider
Далее ОК и обновляем кэш (Update Local File Cache). Сделайте Clean проекту на всякий случай, и та дам, все компилиться под Берлином и запускается на айфоне с IOS 11+ 64bit.
Upd - но лучше поставить поставить последнюю версию Delphi, т.к. я заметил баг с системным тулбаром он не перекрашивается, в зависимости от цвета текущей формы..
-
Да это в стилях убирается. Через SpeedButton даже проще, согласен..
-
4 часа назад, Tumaso сказал:
А вот насчет рисования кругов со сглаживанием через nativeAPI, можно поподробнее? А то TCircle в андроиде это полный треш
Native Api (google translate ) :
https://github.com/OneChen/FMXNativeDraw (там же ссылка на описаниеl)
Равиль сделал на основе этого модуля готовые компоненты:
-
Проблема в том что ваш битмап растягивается ,т.к. у него не правильный масштаб (масштаб 1, а нужен системный который больше).
Значит
1. Получите текущий Scale из системы (если отнаследовались от TControl, то есть Scene.GetSceneScale).
2. Установите правильный размер у битмапа - Bitmap.SetSize(Ceil(Width * Scale), Ceil(Height * Scale))
Вместо Ceil можно Trunc попробовать, что лучше.
BitmapScale не трогайте (его нужно менять, если рисуете векторный Path ). Теперь попробуйте вывести на него текст, а затем этот битпам отобразить на PaintBox. Должно все получиться с высокой вероятность, я так отрисовываю примитивы, напр. круг через китайский модуль NativeAPI, чтобы было сглаживание на Android/iOS.
-
В 13.01.2018 в 13:14, x11 сказал:
Я использую обычную TSpeedButton с прозрачной png картинкой с круглой кнопкой.
В этом варианте при нажатии будет появляться сервый прямоугольник. Не идет. Вариант Равиля медленный, кнопка будет часто перерисовыватся, круг + картинка + тень.
Поэтому лучший вариант это сделать кнопку в виде обычной картинки. TImage или TGlyph. Я делал на TGlyph чтобы все картинки были в ImageList.
Подготовьте 3 пнг картинки с полностью готовой кнопкой, с тремя масштабами.
Scale 1 = 56x56 Scale 2 = 112x112 Scale 3 = 168x168
Поместите его в TImageList (обычно в глобальном Datamodule), добавьте свое изображение в список и добавьте 3 коэффициента масштабирования в исходное изображение (дважды щелкните элемент в списке «Sources of Image» в ImageList, там выберите "Add new Item"), в итоге одно изображение в TImageList будет иметь 3 scale. Чтобы понять какой scale загрузился при тесте, можно поставить для теста картинки разного цвета. Поместите TGlyph на форму и выберите свой список изображений.
Установите событие OnClick в Form OnCreate (поскольку Glyph1 не имеет OnClick по умолчанию в Object Inspector):
Glyph1.OnClick := Click; Glyph1.HitTest := true;
В OnClick добавьте этот код для анимации:
procedure TForm2.TestClick(Sender: TObject); begin TAnimator.AnimateFloatWait(Glyph1, 'Opacity', 0.5, 0.2); TAnimator.AnimateFloat(Glyph1, 'Opacity', 1, 0.2); end;
Или вы можете использовать TImage - это еще проще и меньше кода, чем выше.
Рабочее место для IOS разработки
в Вопросы
Опубликовано · Изменено пользователем ENERGY
Имхо лучше взять 5s - будет возможность тестировать ПО на маленьких экранах и на минимальной айфон конфигурации. 5s это неплохой смарт, iOS 11 на нем не тормозит (а 12 тем более), поэтому людей на нем еще много.