Sascha
-
Постов
51 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Sascha
-
-
Берлин - это 10.1
10.2 - это Токио
-
Кто-нибудь тестировал, запускаются ли приложения, сделанные в Delphi (в частности, 10.4.1), под Android 12?
-
Собственно сабж
-
Евгений Корепов вроде в этой теме разбирается, но он от Delphi отошел
-
1 час назад, alikoder сказал:
Вы хотите в приложении, чтобы пользователь из картинок сам создал анимацию или просто нужна анимация в приложении? Если второе, то мало смысла юзать сейчас в приложухах гифки в качестве анимации, в таком случае используйте лучше lottie анимацию, состоит из json и занимает намного меньше места. Пример на делфи
первое.
пользователь в автоматическом режиме создает gif из картинок
-
Подскажите пожалуйста, как создать анимированный gif из картинок? (Firemonkey, Android)
-
Посоветуйте алгоритмы для скрывания части картинки, чтобы и скрывать, и чтобы оставалось достаточно видимой информации для распознавания. Спасибо
-
Почему я не могу записать в папку GetLibraryPath? (Android 11, Delphi 10.4.1)
Получаю ошибку Permission denied.
GetLibraryPath это же не external storage?
Спасибо за ответы.
-
29 минут назад, OnePeople сказал:
procedure TForm1.UpdateAsset(AssetName, FilePath: String); var inputStream: JInputStream; FileOutputStream: JFileOutputStream; WData: TJavaArray<Byte>; LData: Integer; begin try InputStream := TAndroidHelper.Context.getAssets.open(StringToJString(AssetName)); except exit; end; try FileOutputStream := TJFileOutputStream.JavaClass.init(StringToJString(FilePath)); except exit; end; WData := TJavaArray<Byte>.Create(4096); repeat try LData := InputStream.read(WData); except LData := -1; end; if LData <> -1 then begin FileOutputStream.write(WData, 0, LData); end; until (LData = -1) or (LData = 0); FileOutputStream.flush; FileOutputStream.close; inputStream.close; end;
Обновление файла из assets в папку с программой
Пользоваться так проверяете при Form.Create что версия новая и вызываете UpdateAsset('internal/base.db', ApplicationPath + 'base.db');
а почему вообще возникает необходимость писать этот костыль?
почему Overwrite = Always в деплойменте не работает???
-
16 минут назад, OnePeople сказал:
Библиотеки которые вы задеплоите можно использовать, а загруженные в процессе работы приложения нельзя!
Я извиняюсь, а как можно библиотеки не задеплоить, но загрузить в процессе работы?
-
50 минут назад, OnePeople сказал:
Это можно
как можно, если нельзя запускать исполняемые файлы из папки своего приложения?!
-
2 часа назад, OnePeople сказал:
Ну согласно перевода вы не можете запускать исполняемые файлы из папки своего приложения, и вы не можете изменять код библиотек .so из своего приложения. Оно вам зачем?
Хотел прикрепить к своему приложению один .so исполняемый файл, вызывать его и получать результаты от него
-
Кто-нибудь может мне внятно объяснить, что это значит?
Removed execute permission for app home directory
Untrusted apps that target Android 10 cannot invoke
exec()
on files within the app's home directory. This execution of files from the writable app home directory is a W^X violation. Apps should load only the binary code that's embedded within an app's APK file.In addition, apps that target Android 10 cannot in-memory modify executable code from files which have been opened with
dlopen()
. This includes any shared object (.so
) files with text relocations.Взято отсюда:
https://developer.android.com/about/versions/10/behavior-changes-10
-
да, AnimateFloatWait в Андроид не работает, потому что смотришь в исходники - а там Application.ProcessMessages
Испанский стыд
-
2 часа назад, Дмитрий Потапов сказал:
Попробуйте библиотеку компонентов FGX, она содержит компонент TFgPositionAnimation, созданный для анимации свойств типа TPosition.
Я сам пробовал использовать этот компонент - работал нормально.Попробовал. Не могу заставить запуститься анимацию. Метода типа Start нет. Думал, просто Enabled включу
fgPositionAnimation1.StartValue := Image1.Position; fgPositionAnimation1.StopValue.X := Image1.Position.X + 200; fgPositionAnimation1.StopValue.Y := Image1.Position.Y + 200; fgPositionAnimation1.Duration := 1; fgPositionAnimation1.PropertyName := 'Position'; fgPositionAnimation1.Enabled := True;
-
на гитхабе нашел два продолжения проекта:
https://github.com/ms301/fgx-firemonkey
https://github.com/theilgaz/FGX
Вы каким пользуетесь?
-
13 минут назад, Дмитрий Потапов сказал:
Попробуйте библиотеку компонентов FGX, она содержит компонент TFgPositionAnimation, созданный для анимации свойств типа TPosition.
Я сам пробовал использовать этот компонент - работал нормально.Она заброшена автором. Для Delphi 10.4.1 ее можно установить?
-
Делаю так:
procedure TForm1.MoveButtonClick(Sender: TObject); const Time = 1.0; begin var P := Image1.Position.Point + TPointF.Create(200, 100); TAnimator.AnimateFloat(Image1, 'Position.X', P.X, Time); TAnimator.AnimateFloat(Image1, 'Position.Y', P.Y, Time); end;
Как одновременно изменить Position.X и Position.Y, чтобы использовать их в AnimateFloatWait?
Проблема в том, что после анимации идет важная процедура, которая выполняется, не дожидаясь анимации. В потоке тоже глюки.
-
В 26.11.2021 в 12:28, haword сказал:В 26.11.2021 в 01:37, Sascha сказал:
или на флаттере, забыли добавить.
это подобие firemonkey, сегодня есть, через лет 5 уже забыли о нем.
это очень спорное утверждение от дилетанта
-
6 часов назад, slav_z сказал:
простейший способ:
спасибо!
-
Подскажите, пожалуйста, как сделать простейшую анимацию?
Внутри Rectangle имеется TImage. Как по нажатии на кнопку заставить проехаться этот имидж из точки X1,Y1 в точку X2,Y2 за T секунд?
-
4 минуты назад, haword сказал:
Добрый совет - лучше напиши на котлине или джаве, меньше потом проблем будет.
или на флаттере, забыли добавить.
Но я люблю Delphi, притягивает эта среда. Хотя другие языки не сложнее (Dart, Cotlin, Java), но в Delphi быстрее всё получается.
-
58 минут назад, OnePeople сказал:
onMouseDown := (Self.Parent as TFrame6).imgMouseDown;
Наворочено, но работает)) спасибо
-
15 минут назад, OnePeople сказал:
TFrame1.imgMouseDown;
Может все таки
Frame1.imgMouseDown;
так тоже пробовал
Undeclared identifier: Frame1
Проверки лицензии приложения в Google Play Market
в Защита приложения и данных
Опубликовано
Что значит "проверка лицензии приложения"?