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

MrAnderson

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

    23
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные MrAnderson

  1. Я понимаю что это некро-тема, но хотел ответить, так как сам искал такое решение может кому пригодится

     

    Intent := SharedActivity.getIntent;
    Intent.setAction(TJIntent.JavaClass.ACTION_MAIN);
    Intent.setAction(TJIntent.JavaClass.ACTION_SCREEN_ON);
    Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_REORDER_TO_FRONT);
    Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
    MainActivity.startActivity(Intent); 

    Не работает в новом обновление Rio 10.3.1

    Вот так работает в новом Rio

    Intent := MainActivity.getIntent;
    Intent.setAction(TJIntent.JavaClass.ACTION_SCREEN_ON);
    Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_REORDER_TO_FRONT);
    MainActivity.startActivity(Intent);

     

  2. Уважаемые формучане. Решил опять поднять избитый вопрос о настройке под iOs.

    И так у меня Delphi xe10.3 Rio + VMware MacOs High Sierra + Xcode 10.1 так есть developer аккаунт и живой iphone 6

    Пробовал iOs Simulator приложение ставиться но не запускается. Видимо причина в разрядности системы или я не знаю. Но не запускаются даже приложения из коробки.

    Компилирование под живое устройство вообще ничего не дает- компилируется говорит ок и все на устройстве реакции 0.

    Вычитал что это возможно связано с Provisioning Profiles не пойму что с ним делать.

    Если есть люди знающие подскажите в чем может быть проблема.

    ДА и еще вопрос по сертификатам, не понимаю какой мне нужен серт для приложения там что-то много пунктов. (сказывается плохое знание английского).

    Под андройд проблем таких не возникло.

    В общем не пинайте я думаю что первый раз у многих возникали такие вопросы.

  3. Цитата

    https://developer.android.com/training/notify-user/build-notification#java

    Because you must create the notification channel before posting any notifications on Android 8.0 and higher, you should execute this code as soon as your app starts. It's safe to call this repeatedly because creating an existing notification channel performs no operation.

    Попробуй создай channel глобально и на создание формы .

    Только устанавливаю 10.3

  4.  You will have to make sure that your notification is a high priority, FCM will post it immediately

    FCM attempts to deliver high priority messages immediately, allowing the FCM service to wake a sleeping device when necessary and to run some limited processing (including very limited network access). High priority messages generally should result in user interaction with your app. If FCM detects a pattern in which they don't, your messages may be de-prioritized

    If your users interact with the notifcaiton FCM will not delay it. Background services may not be allowed in some cases in Android O but it doesn't mean you cannot send notifications

    Also your notification will not be displayed if your not using notification channels, You can use this code to create notification channels

    public void initChannels(Context context) {
    if (Build.VERSION.SDK_INT < 26) {
        return;
    }
    NotificationManager notificationManager =
            (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    NotificationChannel channel = new NotificationChannel("default",
                                                          "Channel name",
                                                          NotificationManager.IMPORTANCE_DEFAULT);
    channel.setDescription("Channel description");
    notificationManager.createNotificationChannel(channel);}

    Может кто нибудь помочь вот с этим? Вроде как ответ на вопрос.

  5. Добрый вечер.

    Подскажите пожалуйста уже наверно неделю читаю все подряд и ни как не могу понять.

    Приложение из демо работает т.е. пуши локальные приходят а вот приложение созданное ранее не использовало эти уведомления после добавления не хочет их выводить.

    Попробовал новый проект создать там все ок.

    Что нужно добавить или где прописать что бы работали уведомления.

    Если что продолжаю учиться.

    Спасибо.

     

  6. В 28.09.2018 в 21:46, Tumaso сказал:

    @Alex7wrt,

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

    Что касается targetSDK, то этим значением приложение уведомляет операционку, что возможно будет использовать api вплоть до данной версии. targetSDK 27 пока не использовал, только 26, и все что надо работает.

    В самом коде делаю анализ текущей версии SDK, и в зависимости от нее возможно делаю дополнительные действия. Вот например, работа с правами:

    
        {$IFDEF ANDROID}
          // для Android 6+ требуется дополнительная работа с правами
          if TJBuild_VERSION.JavaClass.SDK_INT >= 23 then
          begin
            if (TAndroidHelper.context.checkSelfPermission(
                 StringToJString(PERMISSION_FILE_READ)
                 ) = TJPackageManager.JavaClass.PERMISSION_DENIED)
              or (TAndroidHelper.context.checkSelfPermission(
                   StringToJString(PERMISSION_FILE_WRITE)
                   ) = TJPackageManager.JavaClass.PERMISSION_DENIED) then
            begin
              // необходимо запросить разрешение на использование галереи
              LIsWaitPermissions := True;
              TAndroidHelper.Activity.requestPermissions(
                CreateJavaStringArray([PERMISSION_FILE_READ, PERMISSION_FILE_WRITE]),
                BUTTON_FILE
                );
            end;
          end;
        {$ENDIF}

     

    Можно по подробнее??

    TAndroidHelper.Activity.requestPermissions(
                CreateJavaStringArray([PERMISSION_FILE_READ, PERMISSION_FILE_WRITE]),
                BUTTON_FILE
                );

    В этом месте у меня AV выскакивает.

    Delphi XE 10.2 Tokyo

  7. 49 минут назад, Barbanel сказал:

    Выдайте разрешение софтине, она же черным по-русски просит )))

    Говорите только в design time, я не знаю что вы используете, возможно какой-то компонент коннектится к камере сразу после запуска приложения.
    Проверьте, есть ли у этого компонента свойство Active или подобное и выставьте его в false.

    Если доступ к камере из кода - то смотрите в какой момент вы его вызываете.
    Если нужно - запрашивайте разрешения программно. 

    Вы были правы почему-то в настройках разрешений телефона стоял запрет на камеру хотя я его не ставил.

  8. вот что выдает монитор

    11-06 16:59:18.051: E/ANDR-IOP(571): IOP HAL: Received pkg_name = com.embarcadero.MiracleM pid = -1
    11-06 16:59:18.073: E/ActivityTrigger(1815): activityStartTrigger: not whiteListedcom.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity/3
    11-06 16:59:18.076: E/ActivityTrigger(1815): activityResumeTrigger: not whiteListedcom.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity/3
    11-06 16:59:18.289: E/ActivityTrigger(1815): activityResumeTrigger: not whiteListedcom.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity/3

    Что здесь написано вообще без понятия

  9. 2 минуты назад, Barbanel сказал:

    Выдайте разрешение софтине, она же черным по-русски просит )))

    Да вроде все разрешено

    <?xml version="1.0" encoding="utf-8"?>
    <!-- BEGIN_INCLUDE(manifest) -->
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.embarcadero.MiracleM"
            android:versionCode="3"
            android:versionName="1.0.0"
            android:installLocation="auto">
    
        <!-- This is the platform API where NativeActivity was introduced. -->
        <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="26" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.BIND_TEXT_SERVICE" />
        <uses-permission android:name="android.permission.BROADCAST_STICKY" />
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.READ_CALENDAR" />
        <uses-permission android:name="android.permission.READ_CONTACTS" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
        <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
        <uses-permission android:name="android.permission.USE_SIP" />
        <uses-permission android:name="com.android.vending.BILLING" />
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
        <uses-feature android:glEsVersion="0x00020000" android:required="True"/>
        <application android:persistent="False" 
            android:restoreAnyVersion="False" 
            android:label="MiracleM" 
            android:debuggable="True" 
            android:largeHeap="False"
            android:icon="@drawable/ic_launcher"
            android:theme="@style/AppTheme"
            android:hardwareAccelerated="true">
    
    
    		
            <!-- Our activity is a subclass of the built-in NativeActivity framework class.
                 This will take care of integrating with our NDK code. -->
            <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
                    android:label="MiracleM"
                    android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
                    android:launchMode="singleTask">
                <!-- Tell NativeActivity the name of our .so -->
                <meta-data android:name="android.app.lib_name"
                    android:value="MiracleM" />
                <intent-filter>  
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter> 
            </activity>
            
            <receiver android:name="com.embarcadero.rtl.notifications.NotificationAlarm" />
    
        </application>
    </manifest>
    <!-- END_INCLUDE(manifest) -->

     

  10. 11-06 16:16:26.069: I/Timeline(3200): Timeline: Activity_launch_request time:90722980 intent:Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity bnds=[331,983][499,1151] (has extras) }
    11-06 16:16:26.073: I/ActivityManager(1815): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity bnds=[331,983][499,1151] (has extras)} from uid 10028
    11-06 16:16:26.080: E/ANDR-IOP(571): IOP HAL: Received pkg_name = com.embarcadero.MiracleM pid = -1
    11-06 16:16:26.083: W/WindowManager(1815): Attempted to set focus to non-existing app token: Token{704629c ActivityRecord{391b4a5 u0 com.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity t2981}}
    11-06 16:16:26.084: D/ActivityTrigger(1815): activityStartTrigger: Activity is Triggerred in full screen ApplicationInfo{4b1ddd2 com.embarcadero.MiracleM}
    11-06 16:16:26.085: E/ActivityTrigger(1815): activityStartTrigger: not whiteListedcom.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity/3
    11-06 16:16:26.086: D/ActivityTrigger(1815): activityResumeTrigger: The activity in ApplicationInfo{4b1ddd2 com.embarcadero.MiracleM} is now in focus and seems to be in full-screen mode
    11-06 16:16:26.086: E/ActivityTrigger(1815): activityResumeTrigger: not whiteListedcom.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity/3
    11-06 16:16:26.092: D/ActivityTrigger(1815): activityResumeTrigger: The activity in ApplicationInfo{4b1ddd2 com.embarcadero.MiracleM} is now in focus and seems to be in full-screen mode
    11-06 16:16:26.092: E/ActivityTrigger(1815): activityResumeTrigger: not whiteListedcom.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity/3
    11-06 16:16:26.104: D/Boost(1815): hostingType=activity, hostingName=com.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity, callerPackage=com.miui.home, isSystem=true, isBoostNeeded=false.
    11-06 16:16:26.104: I/ActivityManager(1815): Start proc 24801:com.embarcadero.MiracleM/u0a267 for activity com.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity caller=com.miui.home
    11-06 16:16:26.105: D/PowerKeeper.Event(4621): notifyAMProcStart processName: 10267 reason: com.embarcadero.MiracleM, pid:0
    11-06 16:16:26.179: D/GameBoosterService(4375): onGameStatusChange foreground:ForegroundInfo{mForegroundPackageName='com.embarcadero.MiracleM', mForegroundUid=10267, mForegroundPid=24801, mLastForegroundPackageName='com.miui.home', mLastForegroundUid=10028, mLastForegroundPid=3200, mMultiWindowForegroundPackageName='null', mMultiWindowForegroundUid=-1, mFlags=1}
    11-06 16:16:26.236: W/ActivityThread(24801): Application com.embarcadero.MiracleM can be debugged on port 8100...
    11-06 16:16:26.311: D/AccessibilityManager(24801): AccessibilityManager status: mPackageName = com.embarcadero.MiracleM, mOptimizeEnabled = true, mIsEnabled = false, mIsUiAutomationEnabled = false, mIsInterestedPackage =false
    11-06 16:16:26.365: W/linker(24801): "/data/app/com.embarcadero.MiracleM-3N3_yTSwvPTP43Frk1p7rQ==/lib/arm/libMiracleM.so" unused DT entry: type 0xf arg 0x1a702
    11-06 16:16:26.913: I/chatty(24801): uid=10267(u0_a267) com.embarcadero.MiracleM identical 1 line
    11-06 16:16:28.035: I/CameraService(1042): CameraService::connect call (PID -1 "com.embarcadero.MiracleM", camera ID 0) for HAL version default and Camera API version 1
    11-06 16:16:28.036: W/CameraBase(24801): An error occurred while connecting to camera 0: Status(-8): '1: validateClientPermissionsLocked:934: Caller "com.embarcadero.MiracleM" (PID 10267, UID 24801) cannot open camera "0" without camera permission'
    11-06 16:16:28.506: I/WindowManager(1815): WIN DEATH: Window{6b72be1 u0 com.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity}
    11-06 16:16:28.506: I/ActivityManager(1815): Process com.embarcadero.MiracleM (pid 24801) has died: fore TOP 
    11-06 16:16:28.507: W/ActivityManager(1815): Force removing ActivityRecord{391b4a5 u0 com.embarcadero.MiracleM/com.embarcadero.firemonkey.FMXNativeActivity t2981}: app died, no saved state
    11-06 16:16:28.510: D/PowerKeeper.Event(4621): notifyAMProcDied pacakageName: com.embarcadero.MiracleM, pid:24801
    11-06 16:16:28.527: D/GameBoosterService(4375): onGameStatusChange foreground:ForegroundInfo{mForegroundPackageName='com.miui.home', mForegroundUid=10028, mForegroundPid=3200, mLastForegroundPackageName='com.embarcadero.MiracleM', mLastForegroundUid=10267, mLastForegroundPid=24801, mMultiWindowForegroundPackageName='null', mMultiWindowForegroundUid=-1, mFlags=0}

    Добрый день.

    Не пинайте строго но в логе ничего не понимаю. Подскажите приложение нормально запускалось а потом в какой-то прекрасный момент перестало. причем изменений резких не было в основном касалось только изменения в diseng-time.

    Суда по логу падает в момент показа формы но почему не могу понять.

    Если есть платные решения(можно обсудить в личке) подсказки пишите.

  11. Не знаю почему но вот так заработало.

    Может кто нибудь прояснить почему.

    unit Unit2;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects, FMX.Controls.Presentation, FMX.StdCtrls,
      FMX.Layouts;
    
    
    type
      TNotifyEvent = procedure (Sender: TObject) of object;
      TTapEvent = procedure(Sender: TObject; const Point: TPointF) of object;
    
      MyType = class //class(TObject)
        MyButt:TButton;
    
       private
        fNGP: string;
        function GetOnClick: TNotifyEvent;
        procedure SetOnClick(const Value: TNotifyEvent);
    
        function GetTapClick: TTapEvent;
        procedure SetTapClick(const Value: TTapEvent);
       public
    
         Property NGP:string read fNGP;
    
        procedure ButtonClick(Sender: TObject);
        procedure TapClick(Sender: TObject; const Point: TPointF);
    
        property OnButtonClick : TNotifyEvent Read GetOnClick Write SetOnClick;
    
         property OnTapClick : TTapEvent Read GetTapClick Write SetTapClick;
        constructor Create(NewId:integer;NewNGP:string);
      end;
    
    type
      TForm2 = class(TForm)
        Button1: TButton;
        VertScrollBox1: TVertScrollBox;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form2: TForm2;
      myitem:array of MyType;
    
    implementation
    
    {$R *.fmx}
    
    { MyType }
    
    
    procedure MyType.ButtonClick(Sender: TObject);
    begin
     ShowMessage((Sender as TButton).Name +' NGP ['+self.fNGP+']');
    end;
    
    constructor MyType.Create(NewId:integer;NewNGP:string);
    Var RectForButt:TRectangle;
    begin
      fNGP:=NewNGP;
      RectForButt:= TRectangle.Create(nil);
      RectForButt.Parent := Form2.VertScrollBox1;
      RectForButt.Align := TAlignLayout.Top;
      RectForButt.Margins.Top:=2;
      RectForButt.Margins.Bottom:=0;
      RectForButt.Margins.Left:=0;
      RectForButt.Margins.Right:=0;
      RectForButt.Stroke.Kind:=TBrushKind.None;
      RectForButt.Fill.Kind:=TBrushKind.None;
      RectForButt.Height:=150;
      RectForButt.HitTest:=false;
    
      MyButt:=TButton.Create(Form2);
      MyButt.Width:=100;
      MyButt.Parent:=RectForButt;
      MyButt.HitTest:=true;
      MyButt.Align := TAlignLayout.Center;
      MyButt.Text:='Моя кнопка'+IntToSTr(NewId);
      MyButt.Name:='MyButton'+IntTOSTr(NewId);
      MyButt.TextSettings.Font.Size:=12;
    
      MyButt.OnClick:=self.OnButtonClick;
     // MyButt.OnTap:=self.OnTapClick;
    end;
    
    function MyType.GetOnClick: TNotifyEvent;
    begin
     Result:=self.ButtonClick;
    end;
    
    
    function MyType.GetTapClick: TTapEvent;
    begin
     Result:=self.TapClick;
    end;
    
    procedure MyType.SetOnClick(const Value: TNotifyEvent);
    begin
     MyButt.OnClick:=value;
    end;
    
    procedure MyType.SetTapClick(const Value: TTapEvent);
    begin
      MyButt.OnTap:=Value;
    end;
    
    procedure MyType.TapClick(Sender: TObject; const Point: TPointF);
    begin
     ShowMessage((Sender as TButton).Name +' NGP ['+NGP+']');
    end;
    
    procedure TForm2.Button1Click(Sender: TObject);
    begin
     SetLength(myitem,Length(myitem)+1);
     myitem[Length(myitem)-1]:=MyType.Create(Random(1000),'ПРОСТОЕ '+IntToStr(Random(100)));
    end;
    
    end.

     

  12. 20 минут назад, wamaco сказал:

    Потому что под Android используйте onTap, а не onClick

     

    Я конечно извиняюсь но OnClick тоже работает. В приведенном  пример как раз есть событие клик на кнопку которое создает кнопки.

    И можно привести пример или исправить данный код что бы работало?

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

    Подскажите пожалуйста.

    У меня есть класс который рисует кнопки и прочие объекты MyClass и при нажатие на кнопки берет некоторые свойства данного класса.

    Вопрос такой почему в Windows срабатывает нажатие и выводит все что нужно а при компиляции под Андройд не происходит ни чего.

    Что то я не совсем понимаю процесс работы.

    Не судите строго только учусь.

    unit Unit2;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects, FMX.Controls.Presentation, FMX.StdCtrls,
      FMX.Layouts;
    
    
    type
       TNotifyEvent = procedure (Sender: TObject) of object;
    
        MyType = class(TObject)
        MyButt:TButton;
        NGP:string;
       private
        function GetOnClick: TNotifyEvent;
        procedure SetOnClick(const Value: TNotifyEvent);
       public
        procedure ButtonClick(Sender: TObject);
        property OnButtonClick : TNotifyEvent Read GetOnClick Write SetOnClick;
    
        constructor Create(NewId:integer;NewNGP:string);
      end;
    
    type
      TForm2 = class(TForm)
        Button1: TButton;
        VertScrollBox1: TVertScrollBox;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form2: TForm2;
    
    implementation
    
    {$R *.fmx}
    
    { MyType }
    
    
    procedure MyType.ButtonClick(Sender: TObject);
    begin
     ShowMessage((Sender as TButton).Name+' NGP ['+NGP+']');
    
    end;
    
    constructor MyType.Create(NewId:integer;NewNGP:string);
    Var RectForButt:TRectangle;
    begin
      NGP:=NewNGP;
    
      RectForButt:= TRectangle.Create(nil);
      RectForButt.Parent := Form2.VertScrollBox1;
      RectForButt.Align := TAlignLayout.Top;
      RectForButt.Margins.Top:=2;
      RectForButt.Margins.Bottom:=0;
      RectForButt.Margins.Left:=0;
      RectForButt.Margins.Right:=0;
      RectForButt.Stroke.Kind:=TBrushKind.None;
      RectForButt.Fill.Kind:=TBrushKind.None;
      RectForButt.Height:=150;
      RectForButt.HitTest:=false;
    
      MyButt:=TButton.Create(Form2);
      MyButt.Parent:=RectForButt;
      MyButt.Align := TAlignLayout.Center;
      MyButt.Text:='Моя кнопка'+IntToSTr(NewId);
      MyButt.Name:='MyButton'+IntTOSTr(NewId);
    
    
      MyButt.OnClick:=ButtonClick;
    end;
    
    function MyType.GetOnClick: TNotifyEvent;
    begin
     Result:=MyButt.OnClick;
    end;
    
    procedure MyType.SetOnClick(const Value: TNotifyEvent);
    begin
     MyButt.OnClick:=Value;
    end;
    
    procedure TForm2.Button1Click(Sender: TObject);
    begin
     MyType.Create(Random(1000),'ПРОСТОЕ '+IntToStr(Random(100)));
     MyType.Create(Random(1000),'СЛОЖНОЕ '+IntToStr(Random(100)));
    end;
    
    end.

    Спасибо.

  14. Добрый вечер.

    Не подскажите в чем может проблема быть.

    Не отображает содержимое на Андройде при повороте на 180 градусов т.е.(RotationAngle:=180).TScrollBox или TPresentedScrollBox и TVertScollBox.

    Под Win все Ок.

    Delphi XE 10.2 Update 3

×
×
  • Создать...