Jump to content

Артем

Members
  • Posts

    363
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by Артем

  1. 13 часов назад, Viktor Akselrod сказал:

    Здравствуйте.

    Мы выпустим в ближайшее время хотфикс, исправляющий эту проблему.

    Пока вы можете вручную добавить в проект недостающий файл: Project -> Add To Project  и выбрать файл $(FGX)\Sources\FGX.Frames.pas

    А будет пример работы с фреймами? Или по аналогии с FMX? Но там вроде от FMX модули будут цепляться

  2. В 04.01.2023 в 21:02, Yaroslav Brovin сказал:

    Просто ждать бесполезно. Мы обсуждали вашу проблему с вами, что требуется завести репорт и какие-нибудь шаги для воспроизведения. В результате - ничего. Со своей стороны мы независимо от вас, проверили возможность падения компонента лотти, которые проигрывает анимацию при закрытии формы. Однако, все работает штатно без каких-либо видимых проблем. Отсюда либо проблема реально у нас или в вашем коде. Понять это гаданием, к сожалению, не возможно. Поэтому от вас требуется минимальное, описать проблему и шаги для воспроизведения.  А дальше мы ее оперативно поправим, если проблема в библиотеке.

    Я убрал лоти с тех форм где были проблемы и все заработало. Код вообще не трогал. Отсюда я сделал скромный вывод что проблема в библиотеке. К сожалению показать эту беду в тестАпп я не смог. Сейчас поставлю новую сборку и если будет время проверю исправлена ли беда. Но мне кажется что падало именно в бибилотеке при попытке разрушить компонент во время анимации. Но это уже мне не доступно

    • Like 1
  3. 14 часов назад, Yaroslav Brovin сказал:

    Кнопка Back или для полноэкранного телефона можно использовать жест свайпа с левого края экрана.

    А будет такой же свайп работать на иОС? сейчас не работает - а в целом есть ли в планах?

  4. 1 час назад, Максим Кузнецов сказал:

    Вопросы/пожелания после ознакомления с продуктом:

    • Добавить SVG-компонент для отображения не отдельного PathData, а всего файла
    • Не понятно как изменить порядок компонентов в макете (Send to back, Bring to front перемещают компонент до упора, а как просто поменять их местами? В окне структуры компоненты не меняются) 
    • Добавить механизм связывания данных (черезTDatasource или live binding или ещё как-то) 

    пункт 2 решается так ,если не ошибаюсь

     

    image.png

    • Like 1
    • Thanks 1
  5. Добрый день!

    При развернутом и запущенном состоянии приложения оно находится в состоянии  TfgApplicationState.Active

    Если смахиваю сверху шторку то оно не переходит в другие состояния и в событие ApplicationEventsApplicationStateChanged возвращает

    new TfgApplicationState.Active

    old TfgApplicationState.Active

    Разве так и должно быть?

    Я полагаю должно быть TfgApplicationState.Inactive или?

  6. TfgHorizontalScrollBox видимо получил изменения в районе версииFGX 1.13... ибо у меня многое поломалось из-за него. в TfgCollection если в стиле используется TfgHorizontalScrollBox ломаются привязки и пропадают компоненты (не отрисовываются) в рантайме

  7. Всем привет! 

    Подскажите пжл что не так. Некоторые картинки грузит , а на некоторых стало падать с ошибкой

     

    item.assetName := 'image1';
    
    filelink := 'https://api.m4.systems/api_web/getfile.php?filename=a77f6ad8f94e182a1c2dac2e3eb759fa';
    
          TfgAssetsManager.Current.AddBitmapFromUrlAsync(item.assetName, filelink,
            procedure (const AResultCode: Integer; const AResultMessage: string) begin
            end);

     

    стекТрейс

    System._DbgExcNotify(0,0xc0a6c9c0,0xc6aaea7f,0xc4f40a75,nil)
    System.NotifyReRaise(0xc0a6c9c0,0xc4f40a75)
    System._RaiseAtExcept(0xc0a6c9c0,0xc4f40a75)
    System._RaiseExcept(0xc0a6c9c0)
    System.Internal.Excutils.DoRaiseJNIExceptionCallBack('class java.lang.IllegalArgumentException','java.lang.IllegalArgumentException: Given view not a child of ru.fgx.view.layout.NativeLayout{fac76ab V.E...... ......ID 0,0-996,124}')
    Androidapi.Jni.HandleJNIException(0xe4466480)
    Java.Bridge.TJNIHelper.CheckException(0xc6db2104,false)
    Java.Bridge.TJavaType.CallVoidMethod(0xe43fa4c0,0xba06,'updateViewLayout','(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V',@0xffa6fe94: {{ = { = { = { = {VInteger = -1063127384},  = {VBoolean = true (168)},  = {VChar = 168 'Ё'},  = {VExtended = 0xc0a1f6a8},  = {VString = 0xc0a1f6a8},  = {VPointer = 0xc0a1f6a8},  = {VPChar = 0xc0a1f6a8 '¬ѕоЖ'#001},  = {VObject = 0xc0a1f6a8},  = {VClass = 0xc0a1f6a8},  = {VWideChar = #$f6a8},  = {VPWideChar = 0xc0a1f6a8},  = {VAnsiString = 0xc0a1f6a8},  = {VCurrency = 0xc0a1f6a8},  = {VVariant = 0xc0a1f6a8},  = {VInterface = 0xc0a1f6a8},  = {VWideString = 0xc0a1f6a8},  = {VInt64 = 0xc0a1f6a8},  = {VUnicodeString = 0xc0a1f6a8}}},  = {_Reserved1 = -1063127384, VType = 14}}}},1)
    Android.Api.Activityandview.TJViewGroup.updateViewLayout(0xc1e474b0,0xc0a1f6a8,0xc0a50ee8)
    :C562E9E2 __stub_in36s__ZN7Android3Api15Activityandview11TJViewGroup16updateViewLayoutEN6System15DelphiInterfaceINS1_5JViewEEENS4_INS1_23JViewGroup_LayoutParamsEEE
    Fgx.Controls.Android.TfgAndroidControlContainer.DoUpdateFrame(0xc0dfca30,0xc0a0c3a0,0xc0a1f6a8)
    Fgx.Controls.Android.TfgAndroidControl.UpdateFrameInParent(0xc0a0c3a0)
    Fgx.Controls.Android.TfgAndroidControl.WMSetFrame(0xc0a0c3a0,@0xffa70140: {MsgID = 1025, Value = { = { = {Left = 0, Top = 0, Right = 411.4286, Bottom = 731.4286},  = {TopLeft = { = { = {V = {0, 0}},  = {X = 0, Y = 0}}}, BottomRight = { = { = {V = {411.4286, 731.4286}},  = {X = 411.4286, Y = 731.4286}}}}}}})
    Fgx.Forms.Android.TfgAndroidForm.WMSetFrame(0xc0a0c3a0,@0xffa70140: {MsgID = 1025, Value = { = { = {Left = 0, Top = 0, Right = 411.4286, Bottom = 731.4286},  = {TopLeft = { = { = {V = {0, 0}},  = {X = 0, Y = 0}}}, BottomRight = { = { = {V = {411.4286, 731.4286}},  = {X = 411.4286, Y = 731.4286}}}}}}})
    System.TObject.Dispatch(0xc0a0c3a0,0xffa70140)
    Fgx.Messaging.TfgMessageSender.SendMessage<System.Types.TRectF>(0xc1e5b4b0,1025,@0xffa701c8: { = { = {Left = 0, Top = 0, Right = 411.4286, Bottom = 731.4286},  = {TopLeft = { = { = {V = {0, 0}},  = {X = 0, Y = 0}}}, BottomRight = { = { = {V = {411.4286, 731.4286}},  = {X = 411.4286, Y = 731.4286}}}}}})
    Fgx.Flexmanager.TfgFlexManager.RecalculateLayout(Fgx.Controls.TfgControl*).UpdateControlLayout(void*, Fgx.Controls.TfgControl*)(@0xffa70654: {},0xc0a72380)
    Fgx.Flexmanager.TfgFlexManager.RecalculateLayout(Fgx.Controls.TfgControl*).UpdateControlLayout(void*, Fgx.Controls.TfgControl*)(@0xffa70654: {},0xc0de47c0)
    Fgx.Flexmanager.TfgFlexManager.RecalculateLayout(Fgx.Controls.TfgControl*).UpdateControlLayout(void*, Fgx.Controls.TfgControl*)(@0xffa70654: {},0xc0de4540)
    Fgx.Flexmanager.TfgFlexManager.RecalculateLayout(Fgx.Controls.TfgControl*).UpdateControlLayout(void*, Fgx.Controls.TfgControl*)(@0xffa70654: {},0xc0de3280)
    Fgx.Flexmanager.TfgFlexManager.RecalculateLayout(Fgx.Controls.TfgControl*).UpdateControlLayout(void*, Fgx.Controls.TfgControl*)(@0xffa70654: {},0xc3c28c00)
    Fgx.Flexmanager.TfgFlexManager.RecalculateLayout(0xc79099b0,0xc0de47c0)
    Fgx.Controls.TfgControl.Realign(0xc0de47c0)
    Fgx.Scrollbox.TfgCustomScrollBox.ContentSizeChangedHandler(0xc0de47c0,0xc0de47c0)
    Fgx.Types.TfgPersistent.DoInternalChanged(0xc1e476f0)
    Fgx.Types.TfgPersistent.Changed(0xc1e476f0)
    Fgx.Scrollbox.TfgScrollBoxContentSize.SetSize(0xc1e476f0,@0xffa70770: {cx = 120, cy = 47})
    Fgx.Scrollbox.TfgCustomScrollBox.RecalculateContentSize(0xc0de47c0)
    Fgx.Scrollbox.TfgCustomScrollBox.InsertChild(0xc0de47c0,0xc0a72380,1)
    Fgx.Controls.TfgControl.SetParent(Fgx.Controls.TfgControl*).AddSelfToNewParent(void*)(@0xffa70878: {})
    Fgx.Controls.TfgControl.SetParent(0xc0a72380)
    Requestframe_.TRequestFrame.AddImageToHorList(0xc3c28c00,{attachID = '1180444', filname = '', assetName = 'image989247b7d692db230de61d9587d212d7', hash = '989247b7d692db230de61d9587d212d7', size = '1868422'})
    Requestframe_.TRequestFrame_GetAttachList_ActRec__0_Body_ActRec._0_0_Body(0xde60b778)
    :C6180592 __stub_in28s__ZN13Requestframe_49TRequestFrame_GetAttachList_ActRec__0_Body_ActRec9_0_0_BodyEv
    System.Classes.CheckSynchronize(0)
    Fgx.Platform.Android.TfgAndroidWakeMainThreadRunnable.run(0xe443fcd8)
    :C62CDCA2 L1
    :C62CDCA2 L1

  8. Добрый день

    Не пускали приложение в стор, так как не достаточно заполнен ключ UIRequiredDeviceCapabilities.

    image.thumb.png.e2d040a6ede02eeac74eb7217ea4bbdd.png

    Заполнить его через настройки проекта не удалось. Пришлось править сам template.ios

    по-умолчанию

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <%VersionInfoPListKeys%>
    <%ExtraInfoPListKeys%>    
        <key>UIRequiredDeviceCapabilities</key>
        <array>
            <string>arm64</string>
        </array>

    Необходимо было добавить все то что ниже (используется в приложении)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <%VersionInfoPListKeys%>
    <%ExtraInfoPListKeys%>    
        <key>UIRequiredDeviceCapabilities</key>
        <array>
            <string>arm64</string>
            <string>auto-focus-camera</string>
            <string>camera-flash</string>
            <string>front-facing-camera</string>
            <string>gps</string>        
            <string>location-services</string>
            <string>video-camera</string>
            <string>wifi</string>
        </array>

     

    • Like 1
    • Thanks 2
  9. Всем привет!

    Для  инфо

    В моем приложении используется TLocationService

    А из-за него посчитали что необходимо выполнять и требования ниже.

    image.thumb.png.5aa0dea0fa2a5867ce679d3fdc9f24ce.png

    Для того чтобы запросить эти права необходимо добавить ключ, Я его добавил так

    image.thumb.png.17aa2153fcc042ee6ceb492ef6fda4b2.png

    Далее для того чтобы вызвать запрос этих прав в приложении соорудили файл  (во вложении, TrackingManagerUnit.pas)

    В нужном месте вызываем:

    TATTrackingManager.OCClass.requestTrackingAuthorizationWithCompletionHandler(ATTrackingCallback);

    в колбэк вернется ответ, который можно обработать

     

    TrackingManagerUnit.pas

    • Thanks 2
  10. 29 минут назад, Stas сказал:

    Ярослав, здравствуйте, пересмотрите пожалуйста последнее обновление. 

    Насколько я понял, возникло очень много проблем с IOS, что касается меня, обнаружил  существенные проблемы с ImageMode

    Значительная разница с предыдущей версией в отображении.

    Спасибо.

    как будто в сборку не вошли последние доработки по иОС

  11. 2 часа назад, Viktor Akselrod сказал:

    Обновление!
    Проблема проявляется только на части версий Delphi 11.
    Вы можете попробовать установить на свой страх и риск.
    В случае неудачи - откатитесь на предыдущую версию.

    Виктор, есть ли промежуточные сроки выхода релиза с правкой?

  12. 15 минут назад, Stas сказал:

    Здравствуйте, Вы можете это воспроизвести  на тестовом примере?

    Навскидку, вариант  VirtualPageLayout не вариант?

    Спасибо.

    С этим VirtualPageLayout компонентом другие проблемы. Но пока решил вернутся на PageControl

     

  13. Доброго времени суток!

    Что не так делаю?

    Не могу в рантайме создавать страницы

    Ошибка

    First chance exception at $C49903AD. Exception class EJNIException with message 'java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 1, found: 2 Pager id: ffffffff Pager class: class ru.fgx.view.pager.NativeViewPager Problematic adapter: class ru.fgx.view.pager.ViewPagerAdapter'. Process m4mobile.apk (18994)

    image.thumb.png.b2c2bde6fe35a762da2d4366ba5b1285.png

     

×
×
  • Create New...