-
Постов
568 -
Зарегистрирован
-
Посещение
-
Победитель дней
57
Ответы сообщества
-
Пост ENERGY - сообщение в Как вращать векторный TPathData? (How to rotate vector TPathData) был отмечен как ответ
m := TMatrix.CreateRotation (DegToRad (90));
PathData.ApplyMatrix (m);
Все просто.
-
Пост ENERGY - сообщение в [Android] Прозрачность формы в RIO и выше был отмечен как ответ
Рабочее решение выше
-
Пост ENERGY - сообщение в TImage и MouseLeave был отмечен как ответ
Ctrl + F: Ищем слово Leave в исходниках Timage - нету. Смотрим в родителе - TControl - есть.
Жмем Ctrl + Space в вашем классе. Пишем Do и выбираем DoMouseLeave.
protected
procedure DoMouseLeave; override;
Не забудьте inherited; добавить.
-
Пост ENERGY - сообщение в Тормозит выполнение таймера был отмечен как ответ
Токио сам по себе довольно глючный, особенно до обновления 10.2.3 там и без таймера баги с анимацией, эффектам и низким FPS на ровном месте, в этом случае лучше Берлин использовать (что я и делаю под Android и iOS (Xcode 9 btw) ).
-
Пост ENERGY - сообщение в TTimeEdit/TDateEdit. Программно раскрыть. Можно ли проще? был отмечен как ответ
TimeEdit1.OpenPicker ?
-
Пост ENERGY - сообщение в Реестр в Андроиде и Delphi был отмечен как ответ
В Unix нет реестра, там все на файлах. Android, MacOS и iOS - это Unix.
В Android есть 2 варианта для сохранения данных, которые не будут удалены после деинсталяции - сохранять на SD карту, и сохранять удаленно в свою базу (через интернет).
http://stackoverflow.com/questions/19683614/android-persist-data-after-uninstall
Хотя можно попробовать записать что-то и во внутреннее хранилище, в папки Music, Ringtones итп почитайте здесь статью Saving files that can be shared with other apps
-
Пост ENERGY - сообщение в Как определить что программа была запущена из AlarmManager? Или how to read boolean from intent был отмечен как ответ
Тот же вопрос на http://stackoverflow.com/questions/42368123/how-to-pass-boolean-or-integer-to-intent-and-read-it-to-detect-that-my-activi
Никакие свои аргументы добавлять из Java кода (putExtra) не нужно. Решение использовать счетчик EXTRA_ALARM_COUNT:
uses Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText; ... var Intent: JIntent; ... Intent := TAndroidHelper.Activity.getIntent; if Intent.getIntExtra(TJIntent.JavaClass.EXTRA_ALARM_COUNT, 0) > 0 then lblInfo.Text := 'Started by Alarm Manager through FMX Activity';
И насчет отправки аргумента при помощи putExtra из Java кода, все работает, просто я протупил, и регистрировал вызов своего активити напрямую (без Broadcast receiver), из примера номер 2 из из этой статьи .
Кстати заодно я узнал что могу вместо Dex подключить Jar файл (начиная с XE7!), и это тоже работает, и гораздо проще! И кстати для примера номер 2 из той статьи (вызов активити напрямую - не нужен ни Dex файл, ни Jar ни манифест). Проверял на новом проекте.
-
Пост ENERGY - сообщение в Размер компилируемого файла был отмечен как ответ
Системе не навредит, просто смысла в этом нет. Лучше упаковать архиватором, или инсталлятором.
Упакованные exe распаковываются целиком в память, и остаются там до конца, плюс дольше запускаются.
Не упакованные exe загружаются по сегментам, частично, только то, что нужно. http://api.farmanager.com/ru/articles/packers.html
Я такой обычно код вставляю в dpr файл, для Windows проектов.
uses Windows; {$IFDEF RELEASE} {$SETPEFlAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_DEBUG_STRIPPED or IMAGE_FILE_LINE_NUMS_STRIPPED} {$WEAKLINKRTTI ON} {$RTTI EXPLICIT METHODS([]) FIELDS([]) PROPERTIES([])} {$ENDIF} Конечно же нужно выбрать Release в Build Configurations в правой панели.
Есть смысл упаковывать вирусы итп, чтобы быстрее скачать, чтобы зашифровать и сменить сигнатуру. Или кеиген или что-то подобное.