-
Постов
568 -
Зарегистрирован
-
Посещение
-
Победитель дней
57
Активность репутации
-
ENERGY получил реакцию от Tumaso в В Embarcadero отсутствует Android Service
Совет. Не пишите под Android на Delphi ниже последней версии Берлина (10.1 upd 2).
А если выше, то точно не Токио первых версий, только последние версии Токио, иначе все будет тормозить и глючить.
-
ENERGY получил реакцию от Anatoliy в В Embarcadero отсутствует Android Service
Совет. Не пишите под Android на Delphi ниже последней версии Берлина (10.1 upd 2).
А если выше, то точно не Токио первых версий, только последние версии Токио, иначе все будет тормозить и глючить.
-
ENERGY получил реакцию от Anatoliy в [Apple store]отказ публикации из-за локации
Значит на уровне закона, нельзя распотранять марихуану, также как алкоголь, видимо для этого требуется документ о возрасте итп.
Это уже юридический вопрос, а не программисткий. Спроси на форуме юристов США, попробуй включи только США, а Канаду выключи. Не во всем США разрешена марихуана.
-
ENERGY получил реакцию от Anatoliy в [DELPHI FMX Android] [6.0] Не удается загрузить SSL библиотеку
Лучший вариант отказаться от Indy и использовать родную библиотеку из модуля System.Net.HttpClient и THTTPClient. Она и более стабильная на всех 4 ОС и SSL работает прозрачно.
Что означает "передать почту"?
-
ENERGY получил реакцию от Anatoliy в Библиотека Alcinoe для iOS/FMX
На основном форуме EMBT и на стэке он под ником loki loki. Можно напрямую с ним пообщаться. Фреймворк очень шустрый, правда нужна последняя версия Delphi.
-
ENERGY получил реакцию от Maximus в [Apple store]отказ публикации из-за локации
Ну и что они сказали конкретно? Не во всех штатах США марихуана легализована, может из за этого.
Проблему нужно решать с поддержкой Apple, и вам персонально проблему с гомосексуализмом, а не здесь.
-
ENERGY получил реакцию от Mars M в Получить размер файла
function FileSize(const aFilePath: string): Int64; var vSR : TSearchRec; begin if FindFirst(aFilePath, faAnyFile, vSR ) = 0 then begin Result := vSR.Size; FindClose(vSR); end else Result := -1; end; Мультиплатформенный вариант без открытия файла (размер берется из файловой системы).
-
ENERGY получил реакцию от ГоРыНыЧ в Разрешение/запрет гасить экран
Вот вариант, его можно применять в любом месте (обычно в OnCreateForm), не обязательно в DPR.
Флаг можно добавлять и удалять.
Для обычного запрета выключать экран нужен только лишь флаг FLAG_KEEP_SCREEN_ON, остальные не нужны.
Для Tokyo и возможно поздних версий, CallInUIThread не нужен.
{$IFDEF ANDROID} procedure TurnOnAndKeepScreenAndroid(aEnable: boolean); var vFlags: integer; begin vFlags := TJWindowManager_LayoutParams.JavaClass.FLAG_TURN_SCREEN_ON or TJWindowManager_LayoutParams.JavaClass.FLAG_DISMISS_KEYGUARD or TJWindowManager_LayoutParams.JavaClass.FLAG_SHOW_WHEN_LOCKED or TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON; if aEnable then begin CallInUIThread ( // uses FMX.Helpers.Android procedure begin TAndroidHelper.Activity.getWindow.setFlags (vFlags, vFlags); end ); end else CallInUIThread ( procedure begin TAndroidHelper.Activity.getWindow.clearFlags (vFlags); end ); end; {$ENDIF}
-
ENERGY отреагировална Barbanel в Элементы стиля на Андроид
Возможно это не работает потому, что для Андроида у вас нет стиля, либо он называется не так, либо в данном стиле нет нет элемента с именем 'BackgroundColor'.
Проверьте стили и убедитесь что структура имен совпадает.
-
ENERGY отреагировална Barbanel в Элементы стиля на Андроид
Я так и думал.
то что он один - не означает что он для всех платформ.
ЕМНИП, дефолтный стиль предназначен для Виндовс.
Давайте в этом точно разберемся.
Сохраните стиль в файл, при сохранении выберите расширение файла .style
Откройте этот файл текстовым редактором.
Найдите в нем блок "object TStyleDescription"
Покажите что стоит в поле "PlatformTarget" и "MobilePlatform".
Или покажите весь блок.
-
ENERGY получил реакцию от Anatoliy в TWebBrowser. Убрать горизонтальный скрол, убрать вертикальный скрол
Скорее всего не получиться сделать скриншот, т.к. это нативный компонент и MakeScreenshot тут вернет белый фон.
Чтобы убрать горизонтальную прокрутку, наверное нужно копать в сторону CSS, и искать как адаптировать страницу под ширину сайта без скрола..
В том то и дело что его не достанешь так просто, т.к. скрол бар в нативном компоненте.
-
ENERGY получил реакцию от Anatoliy в переходпо ссылке с push уведомления
Никак, даже в нативном swift, при тапе на уведомление, сначала запускается\активируется программа, а затем уже оттуда нужно вызвать ссылку и закрыть\скрыть программу.
Вы же для iOS пишите?
-
ENERGY получил реакцию от Anatoliy в Освобождение памяти TListViewItem
У меня как раз так - на каждый введеный символ TEdit, я делаю Clear и заполняю снова с другими результатами. И деструктор вызывается каждый раз. Возможно в Берлине до обновлений было по другому..
-
ENERGY получил реакцию от Barbanel в Рабочее место для IOS разработки
Имхо тогда уже лучше купить обычный ноут под Win с Intel и на нем запустить виртуалку. Это более универсальное решение. Мне решение с виртуальной машиной больше нравится, т.к в VMWare удобно создавать образы всей системы. Особенно это актуально перед обновление системы или Xcode. Не работает после обновления? Пару кликов и ты вернулся к рабочей версии.
Ну или MacMini, тоже бюджетное решение.
-
ENERGY получил реакцию от Tumaso в Рабочее место для IOS разработки
Имхо тогда уже лучше купить обычный ноут под Win с Intel и на нем запустить виртуалку. Это более универсальное решение. Мне решение с виртуальной машиной больше нравится, т.к в VMWare удобно создавать образы всей системы. Особенно это актуально перед обновление системы или Xcode. Не работает после обновления? Пару кликов и ты вернулся к рабочей версии.
Ну или MacMini, тоже бюджетное решение.
-
ENERGY получил реакцию от Anatoliy в Открыть для чтения pdf файл. 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;
-
ENERGY получил реакцию от Anatoliy в Освобождение памяти TListViewItem
Это неверно. Все TListViewItem корректно уничтожаются и освобождаются в Clear.
Чтобы это проверить, достаточно поставить точку останова на TListItem.Destroy;
А предложенный вами код это очень не оптимизированное и медленное решение, с перерассчетом всех индексов при каждом удалении айтема.
-
ENERGY получил реакцию от Anatoliy в Рабочее место для IOS разработки
Необходимый минимум -
iPhone или iPad. iPhone нужен от 5s и выше. 5 уже не пойдет, т.к. 32 битный.
100$ - купить сертификат разработчика у Apple.
MacOS можно запускать на виртуальной машине, готовые образы Vmware, с установленой системой, есть на рутрекере. Для работы нужен реальный процесор Intel, с AMD не пойдет.
Настройка всего этого может занять пару дней, а то и больше.
-
ENERGY получил реакцию от Hangar-18 в Плавающая кнопка
Правильно. Фреймворк будет смотреть на значение в Scale - если оно будет около системного значения, то загрузит нужную картинку. Иногда, чтобы убедиться что картинка загружается, я раскрашиваю их в разные цвета.
Offtop:
Иногда я беру картинку с разрешением scale 3 и оставляю только одну картинку указывая Scale 1 (т.е. на деле у нее разрешение scale 3). TImage или TGlyph сделает авторесайз под размер компонента, но не всегда качественный авторесайз получается, нужно смотреть на результаты. Вообще (не только в Delphi), растровую картинку можно уменьшить почти без потери качества, а вот если ее увеличить - то тогда будет плохое качество - появятся растровые квадраты и картинка не будет выглядеть сглаженной. Поэтому не увеличивайте картинки малых разрешение, до более высокого.
-
ENERGY получил реакцию от Hangar-18 в Плавающая кнопка
В этом варианте при нажатии будет появляться сервый прямоугольник. Не идет. Вариант Равиля медленный, кнопка будет часто перерисовыватся, круг + картинка + тень.
Поэтому лучший вариант это сделать кнопку в виде обычной картинки. 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 - это еще проще и меньше кода, чем выше.
-
ENERGY получил реакцию от Barbanel в Кнопка Done
У формы есть событие OnVirtualKeyboardHidden, оно срабатывает когда юзер нажимает Done и клавиатура скрывается.
Также, срабатывает событие OnExit компонента (напр TEdit).
-
ENERGY получил реакцию от Anatoliy в OnVirtualKeyboardShown
У формы есть свойство Focused.
MyControl := TControl(Focused.GetObject);
-
ENERGY получил реакцию от Anatoliy в Кнопка Done
У формы есть событие OnVirtualKeyboardHidden, оно срабатывает когда юзер нажимает Done и клавиатура скрывается.
Также, срабатывает событие OnExit компонента (напр TEdit).
-
ENERGY отреагировална Alex7wrt в Android. Форма не на весь экран по вертикали.
Для того, чтобы работало "из коробки", добавьте в файле манифеста в секции Activity строку:
<meta-data android:name="android.max_aspect" android:value="2.1" />
Где 2.1 -максимальное соотношение сторон, поддерживаемое приложением. Можно заменить другим числом
-
ENERGY получил реакцию от Anatoliy в XCode версия
Может кому то пригодится.
Победить 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, т.к. я заметил баг с системным тулбаром он не перекрашивается, в зависимости от цвета текущей формы..