Перейти к содержанию
Fire Monkey от А до Я

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      2

    • Постов

      2 124


  2. AliZairov

    AliZairov

    Пользователи


    • Баллы

      2

    • Постов

      50


  3. Mars M

    Mars M

    Пользователи


    • Баллы

      2

    • Постов

      63


  4. AngryOwl

    AngryOwl

    Пользователи


    • Баллы

      1

    • Постов

      394


Популярный контент

Показан контент с высокой репутацией 17.05.2017 во всех областях

  1. Вот тут скорее всего как раз про это
    2 балла
  2. AliZairov

    Native Android VideoView

    Добрый вечер. Скоро будет полностью подготовлен.
    1 балл
  3. Да точно! :-)
    1 балл
  4. Самый простой и тупой способ это у формы в OnResize анализировать ширину и высоту. Этот способ будет одинаково работать везде. Если хочется более нативного варианта решения задачи, то можно воспользоваться TfgApplicationEvents.OnDeviceOrientationChanged.
    1 балл
  5. Спасибо! То что нужно! Вот рабочий пример: procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); var AbsoluteMousePos: TPointF; LocalMousePos: TPointF; begin Label1.Text := 'X: '+FloatToStr(X); //Координаты в пределах объекта Label2.Text := 'Y: '+FloatToStr(Y); LocalMousePos := TPointF.Create(X, Y); AbsoluteMousePos := Panel1.LocalToAbsolute(LocalMousePos); Label3.Text := 'gX: '+ FloatToStr(AbsoluteMousePos.X); //Координаты относительно формы Label4.Text := 'gY: '+ FloatToStr(AbsoluteMousePos.Y);
    1 балл
  6. ENERGY

    DisposeOf или Free?

    Вот эту еще почитайте статью, мне она больше понравилась. http://www.gunsmoker.ru/2013/05/modern-delphi.html Проблема DisposeOf в том, что он не освобождает память, а просто вызывает деструктор (к классу потом можно обратиться, и не будет Access Violation). На моб. платоформах я обычно иcпользую Free как и раньше, иногда FreeAndNil (если необходимо) т.к. на моб. платформах в отличии от десктопных платформ, вызов Free работает по другому . Если зайти в тело метода там будет комментарий: // under ARC, this method isn't actually called since the compiler translates // the call to be a mere nil assignment to the instance variable, which then calls _InstClear В случае моб. платформ - Free обнуляет переменную, уменьшает ARC на единицу, затем проверяет счетчик ARC и если он = 0 - то вызывает деструктор. Если объект где то присваивался, в какую либо еще переменную, и переменная не была обнулена, то его счетчик ссылок ARC > 0, то он не освободиться с вызовом Free, на эту тему есть баг (фича?) с reference procedure, который вроде уже исправили в Токио (я не проверял, т.к. пока токио нормально не работает под Android). А вот в случае с визуальными контролами, если нужно убрать контрол, надо использовать DisposeOf иначе он останется на форме (может кто знает как его убрать при помощи Free, что и где обнулить? ).
    1 балл
  7. Мне помогло следующее: TThread.Synchronize(nil, procedure begin memoChatMessage.Text := ' '; memoChatMessage.SelectAll; memoChatMessage.DeleteSelection; end);
    1 балл
  8. Спасибо. Не до конца понятно... Несколько разных мнений и рекомендаций... Можно показать на паскале единственно правильное решение для службы андроида, где делаеться отсечка времени в 60 минут для сработки события. Спасибо.
    1 балл
  9. AliZairov

    Native Android VideoView

    Привет, Готовы, unit VideoView; interface uses System.SysUtils, FMX.Types, FMX.Helpers.Android, Androidapi.Helpers, Androidapi.JNI.App, Androidapi.JNI.Net, Androidapi.JNI.VideoView, Androidapi.JNI.Widget; type TVideoView = class(TObject) private FDialog: JDialog; FVideoView: JVideoView; public procedure Play(Source: string); end; implementation { TVideoView } procedure TVideoView.Play(Source: string); begin CallInUIThread( procedure begin FDialog := TJDialog.JavaClass.init(TAndroidHelper.Activity, -1); FDialog.setCancelable(True); FVideoView := TJVideoView.JavaClass.init(TAndroidHelper.Activity); FVideoView.setVideoURI(StrToJURI(Source)); FVideoView.start; FDialog.setContentView(FVideoView); FDialog.show; end); end; end.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...