浏览代码

TScheduledTasks firemonkey sample

Unknown 6 年之前
父节点
当前提交
69417d53f4
共有 29 个文件被更改,包括 1839 次插入0 次删除
  1. 52 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/AndroidManifest.xml
  2. 214 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks.lnk
  3. 28 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks.vsr
  4. 52 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/AndroidManifest.xml
  5. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/classes/classes.dex
  6. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/library/lib/armeabi-v7a/gdbserver
  7. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-hdpi/ic_launcher.png
  8. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-large/splash_image.png
  9. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-ldpi/ic_launcher.png
  10. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-mdpi/ic_launcher.png
  11. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-normal/splash_image.png
  12. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-small/splash_image.png
  13. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-xhdpi/ic_launcher.png
  14. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-xlarge/splash_image.png
  15. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-xxhdpi/ic_launcher.png
  16. 9 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable/splash_image_def.xml
  17. 6 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/values-v21/styles.xml
  18. 6 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/values/styles.xml
  19. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/classes.dex
  20. 9 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/splash_image_def.xml
  21. 6 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/styles-v21.xml
  22. 6 0
      samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/styles.xml
  23. 43 0
      samples/firemonkey/QuickThreads/ScheduledTasks/AndroidManifest.template.xml
  24. 232 0
      samples/firemonkey/QuickThreads/ScheduledTasks/RunScheduledTasks.deployproj
  25. 14 0
      samples/firemonkey/QuickThreads/ScheduledTasks/RunScheduledTasks.dpr
  26. 960 0
      samples/firemonkey/QuickThreads/ScheduledTasks/RunScheduledTasks.dproj
  27. 二进制
      samples/firemonkey/QuickThreads/ScheduledTasks/RunScheduledTasks.res
  28. 25 0
      samples/firemonkey/QuickThreads/ScheduledTasks/main.fmx
  29. 177 0
      samples/firemonkey/QuickThreads/ScheduledTasks/main.pas

+ 52 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/AndroidManifest.xml

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- BEGIN_INCLUDE(manifest) -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="com.embarcadero.RunScheduledTasks"
+        android:versionCode="1"
+        android:versionName="1.0.0"
+        android:installLocation="auto">
+
+    <uses-sdk android:minSdkVersion="19" 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.CALL_PHONE" />
+    <uses-permission android:name="android.permission.CAMERA" />
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <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="RunScheduledTasks" 
+        android:debuggable="True" 
+        android:largeHeap="False"
+        android:icon="@drawable/ic_launcher"
+        android:theme="@style/AppTheme"
+        android:hardwareAccelerated="true"
+        android:resizeableActivity="false">
+
+        
+        
+        
+        <!-- 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="RunScheduledTasks"
+                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="RunScheduledTasks" />
+            <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) -->

+ 214 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks.lnk

@@ -0,0 +1,214 @@
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\SysInit.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Types.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Base.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Dlfcn.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.StdDef.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.SysTypes.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Fcntl.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.SysStat.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Locale.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.String_.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Signal.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Time.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.SysTime.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.SysConst.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Dirent.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Errno.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Fnmatch.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Langinfo.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Sched.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Pthread.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Stdio.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Stdlib.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.SysSysctl.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Unistd.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Utime.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Wordexp.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Pwd.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Semaphore.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Jni.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.AssetManager.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Looper.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.KeyCodes.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Input.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Rect.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.NativeWindow.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.NativeActivity.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.IOUtils.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Internal.ICU.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.RTLConsts.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Wchar.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.Wctype.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Character.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Internal.ExcUtils.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.SysUtils.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.VarUtils.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Variants.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Generics.Collections.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.SysMman.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Hash.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Math.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Rtti.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.TypInfo.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Generics.Defaults.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.StrOpts.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Posix.SysSelect.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Classes.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Masks.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.StrUtils.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.TimeSpan.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.DateUtils.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.IOUtils.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.StartUpCopy.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.UITypes.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Consts.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNIMarshal.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNIBridge.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.JavaTypes.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Java.Security.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Java.Net.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Util.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Os.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Net.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.GraphicsContentViewText.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Messaging.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Analytics.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Math.Vectors.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Actions.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.ImageList.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Consts.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Android.Devices.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Devices.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.DialogService.Async.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Dialogs.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Surfaces.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.UIConsts.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.TextLayout.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Utils.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Graphics.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.RegularExpressionsAPI.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.RegularExpressionsConsts.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.RegularExpressionsCore.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.RegularExpressions.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Text.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Configuration.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Log.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.AppGlue.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Widget.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.App.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Location.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.AdMob.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Hardware.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Accounts.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Support.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.PlayServices.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Print.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Webkit.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Embarcadero.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.DialogService.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Gestures.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Gestures.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.VirtualKeyboard.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.BehaviorManager.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Styles.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Materials.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Types3D.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Filter.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Filter.Custom.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Effects.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.Diagnostics.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\System.SyncObjs.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.MultiResBitmap.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Ani.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.AcceleratorKey.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Bitmap.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Helpers.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.FontGlyphs.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.FontGlyphs.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Objects.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.ImgList.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Menus.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Controls.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Presentation.Messages.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Controls.Model.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Presentation.Factory.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Presentation.Style.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Controls.Presentation.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.KeyMapping.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Helpers.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.MultiTouch.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.MultiTouch.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.ZOrder.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.ZOrder.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.Text.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Maps.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Maps.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Materials.Canvas.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Canvas.GPU.Helpers.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.TextLayout.GPU.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.StrokeBuilder.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Canvas.GPU.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.Timer.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.UI.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.VirtualKeyboard.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Dialogs.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.JNI.Telephony.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.Device.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.Logger.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.SaveState.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.Screen.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Pickers.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Pickers.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.Metrics.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.KhrPlatform.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.EglPlatform.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Egl.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Gles2.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Gles2ext.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Context.GLES.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.Eglext.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\Androidapi.NativeWindowJni.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Controls3D.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.MaterialSources.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Import.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Objects3D.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Forms3D.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Presentation.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Presentation.Style.Common.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Presentation.Android.Style.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Context.GLES.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Graphics.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Controls.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.Common.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Clipboard.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Clipboard.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Platform.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.ActnList.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Types.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.StdActns.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Styles.Objects.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Styles.Switch.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Switch.Style.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Switch.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.StdCtrls.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.InertialMovement.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Layouts.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Header.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Forms.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.ScrollBox.Style.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.ScrollBox.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.ScrollBox.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Memo.Types.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.MagnifierGlass.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.SpellChecker.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.SpellChecker.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Memo.Style.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Memo.Android.o"
+"c:\\program files (x86)\\embarcadero\\studio\\20.0\\lib\\Android\\debug\\FMX.Memo.o"
+D:\\Delphi\\LibsRAD10\\QuickLibs\\QuickLib\\samples\\firemonkey\\QuickThreads\\ScheduledTasks\\Android\\Debug\\Quick.Commons.o
+D:\\Delphi\\LibsRAD10\\QuickLibs\\QuickLib\\samples\\firemonkey\\QuickThreads\\ScheduledTasks\\Android\\Debug\\Quick.Value.o
+D:\\Delphi\\LibsRAD10\\QuickLibs\\QuickLib\\samples\\firemonkey\\QuickThreads\\ScheduledTasks\\Android\\Debug\\Quick.Threads.o
+D:\\Delphi\\LibsRAD10\\QuickLibs\\QuickLib\\samples\\firemonkey\\QuickThreads\\ScheduledTasks\\Android\\Debug\\main.o
+.\\Android\\Debug\\RunScheduledTasks.o

+ 28 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks.vsr

@@ -0,0 +1,28 @@
+EXPORTED {
+	global:
+		_NativeMain;
+		__rsrc_*;
+		__rstr_*;
+		dbkFCallWrapperAddr;
+		dbk_RTL_initialized;
+		__dbk_fcall_wrapper;
+		_DbgExcNotify;
+		_Unwind_VRS_Get;
+		_Unwind_VRS_Set;
+		_Unwind_Complete;
+		_Unwind_Resume_or_Rethrow;
+		_Unwind_GetDataRelBase;
+		_Unwind_GetTextRelBase;
+		_Unwind_GetLanguageSpecificData;
+		_Unwind_GetRegionStart;
+		_BorUnwind_RaiseException;
+		_BorUnwind_RaiseException2;
+		_BorUnwind_Resume;
+		_UnwindCppFrame;
+		UnwindCppPersonalityCommon;
+		_Unwind_DeleteException;
+		TMethodImplementationIntercept;
+		ExecJNI;
+		ANativeActivity_onCreate;
+	local: *;
+};

+ 52 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/AndroidManifest.xml

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- BEGIN_INCLUDE(manifest) -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="com.embarcadero.RunScheduledTasks"
+        android:versionCode="1"
+        android:versionName="1.0.0"
+        android:installLocation="auto">
+
+    <uses-sdk android:minSdkVersion="19" 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.CALL_PHONE" />
+    <uses-permission android:name="android.permission.CAMERA" />
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <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="RunScheduledTasks" 
+        android:debuggable="True" 
+        android:largeHeap="False"
+        android:icon="@drawable/ic_launcher"
+        android:theme="@style/AppTheme"
+        android:hardwareAccelerated="true"
+        android:resizeableActivity="false">
+
+        
+        
+        
+        <!-- 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="RunScheduledTasks"
+                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="RunScheduledTasks" />
+            <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) -->

二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/classes/classes.dex


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/library/lib/armeabi-v7a/gdbserver


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-hdpi/ic_launcher.png


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-large/splash_image.png


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-ldpi/ic_launcher.png


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-mdpi/ic_launcher.png


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-normal/splash_image.png


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-small/splash_image.png


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-xhdpi/ic_launcher.png


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-xlarge/splash_image.png


二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable-xxhdpi/ic_launcher.png


+ 9 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/drawable/splash_image_def.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<bitmap
+xmlns:android="http://schemas.android.com/apk/res/android"
+android:src="@drawable/splash_image"
+android:antialias="true"
+android:dither="true"
+android:filter="true"
+android:gravity="center"
+android:tileMode="disabled"/>

+ 6 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/values-v21/styles.xml

@@ -0,0 +1,6 @@
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+    <style name="AppTheme" parent="@android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:windowBackground">@drawable/splash_image_def</item>
+        <item name="android:windowClipToOutline">false</item>
+    </style>
+</resources>

+ 6 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/RunScheduledTasks/res/values/styles.xml

@@ -0,0 +1,6 @@
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+    <style name="AppTheme" parent="@android:style/Theme.NoTitleBar">
+        <item name="android:windowBackground">@drawable/splash_image_def</item>
+        <item name="android:windowNoTitle">true</item>
+    </style>
+</resources>

二进制
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/classes.dex


+ 9 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/splash_image_def.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<bitmap
+xmlns:android="http://schemas.android.com/apk/res/android"
+android:src="@drawable/splash_image"
+android:antialias="true"
+android:dither="true"
+android:filter="true"
+android:gravity="center"
+android:tileMode="disabled"/>

+ 6 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/styles-v21.xml

@@ -0,0 +1,6 @@
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+    <style name="AppTheme" parent="@android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:windowBackground">@drawable/splash_image_def</item>
+        <item name="android:windowClipToOutline">false</item>
+    </style>
+</resources>

+ 6 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/Android/Debug/styles.xml

@@ -0,0 +1,6 @@
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+    <style name="AppTheme" parent="@android:style/Theme.NoTitleBar">
+        <item name="android:windowBackground">@drawable/splash_image_def</item>
+        <item name="android:windowNoTitle">true</item>
+    </style>
+</resources>

+ 43 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/AndroidManifest.template.xml

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- BEGIN_INCLUDE(manifest) -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="%package%"
+        android:versionCode="%versionCode%"
+        android:versionName="%versionName%"
+        android:installLocation="%installLocation%">
+
+    <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
+    <%uses-permission%>
+    <uses-feature android:glEsVersion="0x00020000" android:required="True"/>
+    <application android:persistent="%persistent%" 
+        android:restoreAnyVersion="%restoreAnyVersion%" 
+        android:label="%label%" 
+        android:debuggable="%debuggable%" 
+        android:largeHeap="%largeHeap%"
+        android:icon="%icon%"
+        android:theme="%theme%"
+        android:hardwareAccelerated="%hardwareAccelerated%"
+        android:resizeableActivity="false">
+
+        <%provider%>
+        <%application-meta-data%>
+        <%services%>
+        <!-- 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="%activityLabel%"
+                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="%libNameValue%" />
+            <intent-filter>  
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter> 
+        </activity>
+        <%activity%>
+        <%receivers%>
+    </application>
+</manifest>
+<!-- END_INCLUDE(manifest) -->

+ 232 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/RunScheduledTasks.deployproj

@@ -0,0 +1,232 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <Import Condition="Exists('$(BDS)\bin\CodeGear.Deployment.targets')" Project="$(BDS)\bin\CodeGear.Deployment.targets"/>
+    <ProjectExtensions>
+        <ProjectFileVersion>12</ProjectFileVersion>
+    </ProjectExtensions>
+    <PropertyGroup>
+        <DeviceId Condition="'$(Platform)'=='Android'"/>
+        <DeviceId Condition="'$(Platform)'=='iOSDevice32'"/>
+        <DeviceId Condition="'$(Platform)'=='iOSDevice64'"/>
+        <DeviceId Condition="'$(Platform)'=='iOSSimulator'">iPhone5</DeviceId>
+    </PropertyGroup>
+    <ItemGroup Condition="'$(Platform)'=='iOSDevice64'"/>
+    <ItemGroup Condition="'$(Platform)'=='Win64'"/>
+    <ItemGroup Condition="'$(Platform)'=='iOSDevice32'"/>
+    <ItemGroup Condition="'$(Platform)'=='Win32'">
+        <DeployFile Include="Win32\Debug\RunScheduledTasks.exe" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\</RemoteDir>
+            <RemoteName>RunScheduledTasks.exe</RemoteName>
+            <DeployClass>ProjectOutput</DeployClass>
+            <Operation>0</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+            <Required>True</Required>
+        </DeployFile>
+    </ItemGroup>
+    <ItemGroup Condition="'$(Platform)'=='OSX32'">
+        <DeployFile Include="$(BDS)\Redist\osx32\libcgsqlite3.dylib">
+            <RemoteDir>RunScheduledTasks.app\Contents\MacOS\</RemoteDir>
+            <RemoteName>libcgsqlite3.dylib</RemoteName>
+            <DeployClass>DependencyModule</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\Redist\osx32\libcgunwind.1.0.dylib">
+            <RemoteDir>RunScheduledTasks.app\Contents\MacOS\</RemoteDir>
+            <RemoteName>libcgunwind.1.0.dylib</RemoteName>
+            <DeployClass>DependencyModule</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+    </ItemGroup>
+    <ItemGroup Condition="'$(Platform)'=='Android'">
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-ldpi\</RemoteDir>
+            <RemoteName>ic_launcher.png</RemoteName>
+            <DeployClass>Android_LauncherIcon36</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="Android\Debug\AndroidManifest.xml" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\</RemoteDir>
+            <RemoteName>AndroidManifest.xml</RemoteName>
+            <DeployClass>ProjectAndroidManifest</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\lib\android\debug\armeabi\libnative-activity.so" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\library\lib\armeabi\</RemoteDir>
+            <RemoteName>libRunScheduledTasks.so</RemoteName>
+            <DeployClass>AndroidLibnativeArmeabiFile</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-hdpi\</RemoteDir>
+            <RemoteName>ic_launcher.png</RemoteName>
+            <DeployClass>Android_LauncherIcon72</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="Android\Debug\libRunScheduledTasks.so" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\library\lib\armeabi-v7a\</RemoteDir>
+            <RemoteName>libRunScheduledTasks.so</RemoteName>
+            <DeployClass>ProjectOutput</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+            <Required>True</Required>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-xxhdpi\</RemoteDir>
+            <RemoteName>ic_launcher.png</RemoteName>
+            <DeployClass>Android_LauncherIcon144</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-small\</RemoteDir>
+            <RemoteName>splash_image.png</RemoteName>
+            <DeployClass>Android_SplashImage426</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-xhdpi\</RemoteDir>
+            <RemoteName>ic_launcher.png</RemoteName>
+            <DeployClass>Android_LauncherIcon96</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-normal\</RemoteDir>
+            <RemoteName>splash_image.png</RemoteName>
+            <DeployClass>Android_SplashImage470</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-large\</RemoteDir>
+            <RemoteName>splash_image.png</RemoteName>
+            <DeployClass>Android_SplashImage640</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-xlarge\</RemoteDir>
+            <RemoteName>splash_image.png</RemoteName>
+            <DeployClass>Android_SplashImage960</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable-mdpi\</RemoteDir>
+            <RemoteName>ic_launcher.png</RemoteName>
+            <DeployClass>Android_LauncherIcon48</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\lib\android\debug\mips\libnative-activity.so" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\library\lib\mips\</RemoteDir>
+            <RemoteName>libRunScheduledTasks.so</RemoteName>
+            <DeployClass>AndroidLibnativeMipsFile</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(NDKBasePath)\prebuilt\android-arm\gdbserver\gdbserver" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\library\lib\armeabi-v7a\</RemoteDir>
+            <RemoteName>gdbserver</RemoteName>
+            <DeployClass>AndroidGDBServer</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="Android\Debug\styles-v21.xml" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\values-v21\</RemoteDir>
+            <RemoteName>styles.xml</RemoteName>
+            <DeployClass>AndroidSplashStylesV21</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="Android\Debug\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\drawable\</RemoteDir>
+            <RemoteName>splash_image_def.xml</RemoteName>
+            <DeployClass>AndroidSplashImageDef</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="Android\Debug\styles.xml" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\res\values\</RemoteDir>
+            <RemoteName>styles.xml</RemoteName>
+            <DeployClass>AndroidSplashStyles</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="Android\Debug\classes.dex" Condition="'$(Config)'=='Debug'">
+            <RemoteDir>RunScheduledTasks\classes\</RemoteDir>
+            <RemoteName>classes.dex</RemoteName>
+            <DeployClass>AndroidClassesDexFile</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+    </ItemGroup>
+    <ItemGroup Condition="'$(Platform)'=='iOSSimulator'">
+        <DeployFile Include="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib">
+            <RemoteDir>RunScheduledTasks.app\</RemoteDir>
+            <RemoteName>libcgunwind.1.0.dylib</RemoteName>
+            <DeployClass>DependencyModule</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+        <DeployFile Include="$(BDS)\Redist\iossimulator\libpcre.dylib">
+            <RemoteDir>RunScheduledTasks.app\</RemoteDir>
+            <RemoteName>libpcre.dylib</RemoteName>
+            <DeployClass>DependencyModule</DeployClass>
+            <Operation>1</Operation>
+            <LocalCommand/>
+            <RemoteCommand/>
+            <Overwrite>True</Overwrite>
+        </DeployFile>
+    </ItemGroup>
+</Project>

+ 14 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/RunScheduledTasks.dpr

@@ -0,0 +1,14 @@
+program RunScheduledTasks;
+
+uses
+  System.StartUpCopy,
+  FMX.Forms,
+  main in 'main.pas' {frmMain};
+
+{$R *.res}
+
+begin
+  Application.Initialize;
+  Application.CreateForm(TfrmMain, frmMain);
+  Application.Run;
+end.

+ 960 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/RunScheduledTasks.dproj

@@ -0,0 +1,960 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <PropertyGroup>
+        <ProjectGuid>{22EA9D3C-E74B-4781-8899-9EDEFAD0DD6A}</ProjectGuid>
+        <ProjectVersion>18.5</ProjectVersion>
+        <FrameworkType>FMX</FrameworkType>
+        <MainSource>RunScheduledTasks.dpr</MainSource>
+        <Base>True</Base>
+        <Config Condition="'$(Config)'==''">Debug</Config>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
+        <TargetedPlatforms>1119</TargetedPlatforms>
+        <AppType>Application</AppType>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Android' and '$(Base)'=='true') or '$(Base_Android)'!=''">
+        <Base_Android>true</Base_Android>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='iOSDevice32' and '$(Base)'=='true') or '$(Base_iOSDevice32)'!=''">
+        <Base_iOSDevice32>true</Base_iOSDevice32>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='iOSDevice64' and '$(Base)'=='true') or '$(Base_iOSDevice64)'!=''">
+        <Base_iOSDevice64>true</Base_iOSDevice64>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='iOSSimulator' and '$(Base)'=='true') or '$(Base_iOSSimulator)'!=''">
+        <Base_iOSSimulator>true</Base_iOSSimulator>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='OSX32' and '$(Base)'=='true') or '$(Base_OSX32)'!=''">
+        <Base_OSX32>true</Base_OSX32>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
+        <Base_Win32>true</Base_Win32>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
+        <Base_Win64>true</Base_Win64>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
+        <Cfg_1>true</Cfg_1>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
+        <Cfg_1_Win32>true</Cfg_1_Win32>
+        <CfgParent>Cfg_1</CfgParent>
+        <Cfg_1>true</Cfg_1>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
+        <Cfg_1_Win64>true</Cfg_1_Win64>
+        <CfgParent>Cfg_1</CfgParent>
+        <Cfg_1>true</Cfg_1>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
+        <Cfg_2>true</Cfg_2>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
+        <Cfg_2_Win32>true</Cfg_2_Win32>
+        <CfgParent>Cfg_2</CfgParent>
+        <Cfg_2>true</Cfg_2>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
+        <Cfg_2_Win64>true</Cfg_2_Win64>
+        <CfgParent>Cfg_2</CfgParent>
+        <Cfg_2>true</Cfg_2>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base)'!=''">
+        <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
+        <DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
+        <DCC_E>false</DCC_E>
+        <DCC_N>false</DCC_N>
+        <DCC_S>false</DCC_S>
+        <DCC_F>false</DCC_F>
+        <DCC_K>false</DCC_K>
+        <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)</DCC_Namespace>
+        <AUP_ACCESS_COARSE_LOCATION>true</AUP_ACCESS_COARSE_LOCATION>
+        <AUP_ACCESS_FINE_LOCATION>true</AUP_ACCESS_FINE_LOCATION>
+        <AUP_CALL_PHONE>true</AUP_CALL_PHONE>
+        <AUP_CAMERA>true</AUP_CAMERA>
+        <AUP_INTERNET>true</AUP_INTERNET>
+        <AUP_READ_EXTERNAL_STORAGE>true</AUP_READ_EXTERNAL_STORAGE>
+        <AUP_WRITE_EXTERNAL_STORAGE>true</AUP_WRITE_EXTERNAL_STORAGE>
+        <AUP_READ_PHONE_STATE>true</AUP_READ_PHONE_STATE>
+        <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
+        <Icns_MainIcns>$(BDS)\bin\delphi_PROJECTICNS.icns</Icns_MainIcns>
+        <SanitizedProjectName>RunScheduledTasks</SanitizedProjectName>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_Android)'!=''">
+        <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FlatButtonSet;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;CustomIPTransport;bindcomp;CoolTrayIcon_D210_XE7;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)</DCC_UsePackage>
+        <VerInfo_Keys>package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey=</VerInfo_Keys>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <Android_LauncherIcon36>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png</Android_LauncherIcon36>
+        <Android_LauncherIcon48>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png</Android_LauncherIcon48>
+        <Android_LauncherIcon72>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png</Android_LauncherIcon72>
+        <Android_LauncherIcon96>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png</Android_LauncherIcon96>
+        <Android_LauncherIcon144>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png</Android_LauncherIcon144>
+        <Android_SplashImage426>$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png</Android_SplashImage426>
+        <Android_SplashImage470>$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png</Android_SplashImage470>
+        <Android_SplashImage640>$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png</Android_SplashImage640>
+        <Android_SplashImage960>$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png</Android_SplashImage960>
+        <EnabledSysJars>android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-gcm-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar</EnabledSysJars>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_iOSDevice32)'!=''">
+        <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
+        <VerInfo_Keys>CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone &amp; iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri</VerInfo_Keys>
+        <VerInfo_UIDeviceFamily>iPhoneAndiPad</VerInfo_UIDeviceFamily>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_BundleId>$(MSBuildProjectName)</VerInfo_BundleId>
+        <iPhone_AppIcon57>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png</iPhone_AppIcon57>
+        <iPhone_AppIcon60>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png</iPhone_AppIcon60>
+        <iPhone_AppIcon87>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png</iPhone_AppIcon87>
+        <iPhone_AppIcon114>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png</iPhone_AppIcon114>
+        <iPhone_AppIcon120>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png</iPhone_AppIcon120>
+        <iPhone_AppIcon180>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png</iPhone_AppIcon180>
+        <iPhone_Launch320>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png</iPhone_Launch320>
+        <iPhone_Launch640>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png</iPhone_Launch640>
+        <iPhone_Launch640x1136>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png</iPhone_Launch640x1136>
+        <iPhone_Launch750>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png</iPhone_Launch750>
+        <iPhone_Launch1242>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png</iPhone_Launch1242>
+        <iPhone_Launch2208>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png</iPhone_Launch2208>
+        <iPhone_Launch1125>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png</iPhone_Launch1125>
+        <iPhone_Launch2436>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png</iPhone_Launch2436>
+        <iPhone_Spotlight29>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png</iPhone_Spotlight29>
+        <iPhone_Spotlight40>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png</iPhone_Spotlight40>
+        <iPhone_Spotlight58>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png</iPhone_Spotlight58>
+        <iPhone_Spotlight80>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png</iPhone_Spotlight80>
+        <iPad_AppIcon72>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png</iPad_AppIcon72>
+        <iPad_AppIcon76>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png</iPad_AppIcon76>
+        <iPad_AppIcon144>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png</iPad_AppIcon144>
+        <iPad_AppIcon152>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png</iPad_AppIcon152>
+        <iPad_Launch768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png</iPad_Launch768>
+        <iPad_Launch768x1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png</iPad_Launch768x1024>
+        <iPad_Launch1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png</iPad_Launch1024>
+        <iPad_Launch1024x768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png</iPad_Launch1024x768>
+        <iPad_Launch1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png</iPad_Launch1536>
+        <iPad_Launch1536x2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png</iPad_Launch1536x2048>
+        <iPad_Launch2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png</iPad_Launch2048>
+        <iPad_Launch2048x1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png</iPad_Launch2048x1536>
+        <iPad_SpotLight40>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png</iPad_SpotLight40>
+        <iPad_SpotLight50>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png</iPad_SpotLight50>
+        <iPad_SpotLight80>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png</iPad_SpotLight80>
+        <iPad_SpotLight100>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png</iPad_SpotLight100>
+        <iPad_Setting29>$(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png</iPad_Setting29>
+        <iPad_Setting58>$(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png</iPad_Setting58>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_iOSDevice64)'!=''">
+        <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
+        <VerInfo_Keys>CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone &amp; iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri</VerInfo_Keys>
+        <VerInfo_UIDeviceFamily>iPhoneAndiPad</VerInfo_UIDeviceFamily>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_BundleId>$(MSBuildProjectName)</VerInfo_BundleId>
+        <iPhone_AppIcon57>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png</iPhone_AppIcon57>
+        <iPhone_AppIcon60>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png</iPhone_AppIcon60>
+        <iPhone_AppIcon87>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png</iPhone_AppIcon87>
+        <iPhone_AppIcon114>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png</iPhone_AppIcon114>
+        <iPhone_AppIcon120>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png</iPhone_AppIcon120>
+        <iPhone_AppIcon180>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png</iPhone_AppIcon180>
+        <iPhone_Launch320>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png</iPhone_Launch320>
+        <iPhone_Launch640>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png</iPhone_Launch640>
+        <iPhone_Launch640x1136>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png</iPhone_Launch640x1136>
+        <iPhone_Launch750>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png</iPhone_Launch750>
+        <iPhone_Launch1242>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png</iPhone_Launch1242>
+        <iPhone_Launch2208>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png</iPhone_Launch2208>
+        <iPhone_Launch1125>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png</iPhone_Launch1125>
+        <iPhone_Launch2436>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png</iPhone_Launch2436>
+        <iPhone_Spotlight29>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png</iPhone_Spotlight29>
+        <iPhone_Spotlight40>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png</iPhone_Spotlight40>
+        <iPhone_Spotlight58>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png</iPhone_Spotlight58>
+        <iPhone_Spotlight80>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png</iPhone_Spotlight80>
+        <iPad_AppIcon72>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png</iPad_AppIcon72>
+        <iPad_AppIcon76>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png</iPad_AppIcon76>
+        <iPad_AppIcon144>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png</iPad_AppIcon144>
+        <iPad_AppIcon152>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png</iPad_AppIcon152>
+        <iPad_Launch768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png</iPad_Launch768>
+        <iPad_Launch768x1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png</iPad_Launch768x1024>
+        <iPad_Launch1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png</iPad_Launch1024>
+        <iPad_Launch1024x768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png</iPad_Launch1024x768>
+        <iPad_Launch1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png</iPad_Launch1536>
+        <iPad_Launch1536x2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png</iPad_Launch1536x2048>
+        <iPad_Launch2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png</iPad_Launch2048>
+        <iPad_Launch2048x1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png</iPad_Launch2048x1536>
+        <iPad_SpotLight40>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png</iPad_SpotLight40>
+        <iPad_SpotLight50>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png</iPad_SpotLight50>
+        <iPad_SpotLight80>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png</iPad_SpotLight80>
+        <iPad_SpotLight100>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png</iPad_SpotLight100>
+        <iPad_Setting29>$(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png</iPad_Setting29>
+        <iPad_Setting58>$(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png</iPad_Setting58>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_iOSSimulator)'!=''">
+        <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
+        <VerInfo_Keys>CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone &amp; iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri</VerInfo_Keys>
+        <VerInfo_UIDeviceFamily>iPhoneAndiPad</VerInfo_UIDeviceFamily>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <iPhone_AppIcon57>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png</iPhone_AppIcon57>
+        <iPhone_AppIcon60>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png</iPhone_AppIcon60>
+        <iPhone_AppIcon87>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png</iPhone_AppIcon87>
+        <iPhone_AppIcon114>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png</iPhone_AppIcon114>
+        <iPhone_AppIcon120>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png</iPhone_AppIcon120>
+        <iPhone_AppIcon180>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png</iPhone_AppIcon180>
+        <iPhone_Launch320>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png</iPhone_Launch320>
+        <iPhone_Launch640>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png</iPhone_Launch640>
+        <iPhone_Launch640x1136>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png</iPhone_Launch640x1136>
+        <iPhone_Launch750>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png</iPhone_Launch750>
+        <iPhone_Launch1242>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png</iPhone_Launch1242>
+        <iPhone_Launch2208>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png</iPhone_Launch2208>
+        <iPhone_Launch1125>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png</iPhone_Launch1125>
+        <iPhone_Launch2436>$(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png</iPhone_Launch2436>
+        <iPhone_Spotlight29>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png</iPhone_Spotlight29>
+        <iPhone_Spotlight40>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png</iPhone_Spotlight40>
+        <iPhone_Spotlight58>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png</iPhone_Spotlight58>
+        <iPhone_Spotlight80>$(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png</iPhone_Spotlight80>
+        <iPad_AppIcon72>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png</iPad_AppIcon72>
+        <iPad_AppIcon76>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png</iPad_AppIcon76>
+        <iPad_AppIcon144>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png</iPad_AppIcon144>
+        <iPad_AppIcon152>$(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png</iPad_AppIcon152>
+        <iPad_Launch768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png</iPad_Launch768>
+        <iPad_Launch768x1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png</iPad_Launch768x1024>
+        <iPad_Launch1024>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png</iPad_Launch1024>
+        <iPad_Launch1024x768>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png</iPad_Launch1024x768>
+        <iPad_Launch1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png</iPad_Launch1536>
+        <iPad_Launch1536x2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png</iPad_Launch1536x2048>
+        <iPad_Launch2048>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png</iPad_Launch2048>
+        <iPad_Launch2048x1536>$(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png</iPad_Launch2048x1536>
+        <iPad_SpotLight40>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png</iPad_SpotLight40>
+        <iPad_SpotLight50>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png</iPad_SpotLight50>
+        <iPad_SpotLight80>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png</iPad_SpotLight80>
+        <iPad_SpotLight100>$(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png</iPad_SpotLight100>
+        <iPad_Setting29>$(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png</iPad_Setting29>
+        <iPad_Setting58>$(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png</iPad_Setting58>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_OSX32)'!=''">
+        <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;FireDACMSSQLDriver;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;CustomIPTransport;bindcomp;DBXInformixDriver;IndyIPClient;dbxcds;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
+        <VerInfo_Keys>CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts</VerInfo_Keys>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_Win32)'!=''">
+        <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;UbuntuProgressPackage;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;JvGlobus;FireDACADSDriver;JvPluginSystem;tmswizdXE12;DBXMSSQLDriver;JvMM;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;JvBands;vcldb;bindcompfmx;svn;Intraweb;DBXOracleDriver;JvJans;JvNet;inetdb;JvAppFrm;FmxTeeUI;emsedge;JvDotNetCtrls;FireDACIBDriver;fmx;fmxdae;vclib;FlatButtonSet;JvWizards;FireDACDBXDriver;dbexpress;IndyCore;vclx;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;JvDB;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;JclDeveloperTools;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;JvCmp;JvHMI;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;GR32_D;JvCustom;vcl;IndyIPServer;DBXSybaseASEDriver;JvXPCtrls;PngComponents;IndySystem;FireDACDb2Driver;dsnapcon;tmsxlsdXE12;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;Jcl;JvCore;emshosting;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;tmsdXE12;FireDACTDataDriver;DBXOdbcDriver;FMXTee;soaprtl;DbxCommonDriver;JvDlgs;JvRuntimeDesign;ibxpress;Tee;JvManagedThreads;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;GR32_R;CustomIPTransport;vcldsnap;JvTimeFramework;JvSystem;JvStdCtrls;tmsexdXE12;bindcomp;appanalytics;CoolTrayIcon_D210_XE7;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;JvDocking;dbxcds;VclSmp;KernowSoftwareFMX;adortl;FireDACODBCDriver;JvPascalInterpreter;TMSFMXPackPkgDXE12;JclVcl;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;JvControls;JvPrintPreview;Analog_XE7;JclContainers;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
+        <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+        <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
+        <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_Win64)'!=''">
+        <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FlatButtonSet;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;IndyIPServer;DBXSybaseASEDriver;PngComponents;IndySystem;FireDACDb2Driver;dsnapcon;tmsxlsdXE12;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;tmsdXE12;FireDACTDataDriver;DBXOdbcDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;GR32_R;CustomIPTransport;vcldsnap;tmsexdXE12;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
+        <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+        <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
+        <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_1)'!=''">
+        <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+        <DCC_DebugDCUs>true</DCC_DebugDCUs>
+        <DCC_Optimize>false</DCC_Optimize>
+        <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
+        <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
+        <DCC_RemoteDebug>true</DCC_RemoteDebug>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
+        <DCC_RemoteDebug>false</DCC_RemoteDebug>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2)'!=''">
+        <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
+        <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+        <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+        <DCC_DebugInformation>0</DCC_DebugInformation>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+    </PropertyGroup>
+    <ItemGroup>
+        <DelphiCompile Include="$(MainSource)">
+            <MainSource>MainSource</MainSource>
+        </DelphiCompile>
+        <DCCReference Include="main.pas">
+            <Form>frmMain</Form>
+            <FormType>fmx</FormType>
+        </DCCReference>
+        <BuildConfiguration Include="Release">
+            <Key>Cfg_2</Key>
+            <CfgParent>Base</CfgParent>
+        </BuildConfiguration>
+        <BuildConfiguration Include="Base">
+            <Key>Base</Key>
+        </BuildConfiguration>
+        <BuildConfiguration Include="Debug">
+            <Key>Cfg_1</Key>
+            <CfgParent>Base</CfgParent>
+        </BuildConfiguration>
+    </ItemGroup>
+    <ProjectExtensions>
+        <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+        <Borland.ProjectType>Application</Borland.ProjectType>
+        <BorlandProject>
+            <Delphi.Personality>
+                <Source>
+                    <Source Name="MainSource">RunScheduledTasks.dpr</Source>
+                </Source>
+            </Delphi.Personality>
+            <Deployment Version="3">
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png" Configuration="Debug" Class="Android_LauncherIcon36">
+                    <Platform Name="Android">
+                        <RemoteName>ic_launcher.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="Android\Debug\AndroidManifest.xml" Configuration="Debug" Class="ProjectAndroidManifest">
+                    <Platform Name="Android">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\lib\android\debug\armeabi\libnative-activity.so" Configuration="Debug" Class="AndroidLibnativeArmeabiFile">
+                    <Platform Name="Android">
+                        <RemoteName>libRunScheduledTasks.so</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png" Configuration="Debug" Class="Android_LauncherIcon72">
+                    <Platform Name="Android">
+                        <RemoteName>ic_launcher.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib" Class="DependencyModule">
+                    <Platform Name="iOSSimulator">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\Redist\iossimulator\libpcre.dylib" Class="DependencyModule">
+                    <Platform Name="iOSSimulator">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\Redist\osx32\libcgsqlite3.dylib" Class="DependencyModule">
+                    <Platform Name="OSX32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="Win32\Debug\RunScheduledTasks.exe" Configuration="Debug" Class="ProjectOutput">
+                    <Platform Name="Win32">
+                        <RemoteName>RunScheduledTasks.exe</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="Android\Debug\libRunScheduledTasks.so" Configuration="Debug" Class="ProjectOutput">
+                    <Platform Name="Android">
+                        <RemoteName>libRunScheduledTasks.so</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png" Configuration="Debug" Class="Android_LauncherIcon144">
+                    <Platform Name="Android">
+                        <RemoteName>ic_launcher.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png" Configuration="Debug" Class="Android_SplashImage426">
+                    <Platform Name="Android">
+                        <RemoteName>splash_image.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\Redist\osx32\libcgunwind.1.0.dylib" Class="DependencyModule">
+                    <Platform Name="OSX32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png" Configuration="Debug" Class="Android_LauncherIcon96">
+                    <Platform Name="Android">
+                        <RemoteName>ic_launcher.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png" Configuration="Debug" Class="Android_SplashImage470">
+                    <Platform Name="Android">
+                        <RemoteName>splash_image.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png" Configuration="Debug" Class="Android_SplashImage640">
+                    <Platform Name="Android">
+                        <RemoteName>splash_image.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png" Configuration="Debug" Class="Android_SplashImage960">
+                    <Platform Name="Android">
+                        <RemoteName>splash_image.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png" Configuration="Debug" Class="Android_LauncherIcon48">
+                    <Platform Name="Android">
+                        <RemoteName>ic_launcher.png</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\Redist\osx64\libcgsqlite3.dylib" Class="DependencyModule">
+                    <Platform Name="OSX64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(BDS)\lib\android\debug\mips\libnative-activity.so" Configuration="Debug" Class="AndroidLibnativeMipsFile">
+                    <Platform Name="Android">
+                        <RemoteName>libRunScheduledTasks.so</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="$(NDKBasePath)\prebuilt\android-arm\gdbserver\gdbserver" Configuration="Debug" Class="AndroidGDBServer">
+                    <Platform Name="Android">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="Android\Debug\styles-v21.xml" Configuration="Debug" Class="AndroidSplashStylesV21">
+                    <Platform Name="Android">
+                        <RemoteName>styles.xml</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="Android\Debug\splash_image_def.xml" Configuration="Debug" Class="AndroidSplashImageDef">
+                    <Platform Name="Android">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="Android\Debug\styles.xml" Configuration="Debug" Class="AndroidSplashStyles">
+                    <Platform Name="Android">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName="Android\Debug\classes.dex" Configuration="Debug" Class="AndroidClassesDexFile">
+                    <Platform Name="Android">
+                        <RemoteName>classes.dex</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployClass Name="AdditionalDebugSymbols">
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidClassesDexFile">
+                    <Platform Name="Android">
+                        <RemoteDir>classes</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidFileProvider">
+                    <Platform Name="Android">
+                        <RemoteDir>res\xml</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidGDBServer">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidLibnativeArmeabiFile">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidLibnativeMipsFile">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\mips</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidServiceOutput">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashImageDef">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashStyles">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV21">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_DefaultAppIcon">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon144">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon36">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-ldpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon48">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon72">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon96">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage426">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-small</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage470">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-normal</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage640">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-large</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage960">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xlarge</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DebugSymbols">
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DependencyFramework">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.framework</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.framework</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DependencyModule">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                        <Extensions>.dll;.bpl</Extensions>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Required="true" Name="DependencyPackage">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                        <Extensions>.bpl</Extensions>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="File">
+                    <Platform Name="Android">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice32">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1024">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1536">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch768">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch320">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch640">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch640x1136">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectAndroidManifest">
+                    <Platform Name="Android">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSDeviceDebug">
+                    <Platform Name="iOSDevice32">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSDeviceResourceRules">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSEntitlements">
+                    <Platform Name="iOSDevice32">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSInfoPList">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSResource">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXDebug">
+                    <Platform Name="OSX64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXEntitlements">
+                    <Platform Name="OSX32">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXInfoPList">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXResource">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\Resources</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\Resources</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Required="true" Name="ProjectOutput">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Linux64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectUWPManifest">
+                    <Platform Name="Win32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="UWP_DelphiLogo150">
+                    <Platform Name="Win32">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="UWP_DelphiLogo44">
+                    <Platform Name="Win32">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
+            </Deployment>
+            <Platforms>
+                <Platform value="Android">True</Platform>
+                <Platform value="iOSDevice32">True</Platform>
+                <Platform value="iOSDevice64">True</Platform>
+                <Platform value="iOSSimulator">True</Platform>
+                <Platform value="OSX32">True</Platform>
+                <Platform value="Win32">True</Platform>
+                <Platform value="Win64">True</Platform>
+            </Platforms>
+        </BorlandProject>
+        <ProjectFileVersion>12</ProjectFileVersion>
+    </ProjectExtensions>
+    <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+    <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
+    <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
+</Project>

二进制
samples/firemonkey/QuickThreads/ScheduledTasks/RunScheduledTasks.res


+ 25 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/main.fmx

@@ -0,0 +1,25 @@
+object frmMain: TfrmMain
+  Left = 0
+  Top = 0
+  Caption = 'Form1'
+  ClientHeight = 480
+  ClientWidth = 331
+  FormFactor.Width = 320
+  FormFactor.Height = 480
+  FormFactor.Devices = [Desktop]
+  OnActivate = FormActivate
+  OnCreate = FormCreate
+  OnClose = FormClose
+  DesignerMasterStyle = 0
+  object meLog: TMemo
+    Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
+    DataDetectorTypes = []
+    Align = Client
+    Size.Width = 331.000000000000000000
+    Size.Height = 480.000000000000000000
+    Size.PlatformDefault = False
+    TabOrder = 0
+    Viewport.Width = 327.000000000000000000
+    Viewport.Height = 476.000000000000000000
+  end
+end

+ 177 - 0
samples/firemonkey/QuickThreads/ScheduledTasks/main.pas

@@ -0,0 +1,177 @@
+unit main;
+
+interface
+
+uses
+  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
+  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
+  FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo,
+  DateUtils,
+  Quick.Commons,
+  Quick.Threads;
+
+type
+
+  TMyJob = class
+  private
+    fId : Integer;
+    fName : string;
+  public
+    destructor Destroy; override;
+    property Id : Integer read fId write fId;
+    property Name : string read fName write fName;
+    procedure DoJob;
+  end;
+
+
+  TfrmMain = class(TForm)
+    meLog: TMemo;
+    procedure FormCreate(Sender: TObject);
+    procedure FormClose(Sender: TObject; var Action: TCloseAction);
+    procedure FormActivate(Sender: TObject);
+  private
+    { Private declarations }
+    ScheduledTasks : TScheduledTasks;
+  public
+    { Public declarations }
+  end;
+
+var
+  frmMain: TfrmMain;
+  ScheduledDate : TDateTime;
+  ExpirationDate : TDateTime;
+
+implementation
+
+{$R *.fmx}
+
+
+procedure Log(const msg : string; params : array of const);
+begin
+  frmMain.meLog.Lines.Add(Format(msg,params));
+end;
+
+destructor TMyJob.Destroy;
+begin
+
+  inherited;
+end;
+
+procedure TMyJob.DoJob;
+var
+  a, b, i : Integer;
+begin
+  log('[%s] task "%s" doing job...',[DateTimeToStr(Now()),fName]);
+  //Sleep(Random(1000));
+  a := Random(100);
+  b := Random(5) + 1;
+
+  i := a div b;
+  log('task "%s" result %d / %d = %d',[fName,a,b,i]);
+end;
+
+procedure TfrmMain.FormActivate(Sender: TObject);
+begin
+  if not ScheduledTasks.IsStarted then ScheduledTasks.Start;
+
+end;
+
+procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+  ScheduledTasks.Free;
+end;
+
+procedure TfrmMain.FormCreate(Sender: TObject);
+var
+  myjob : TMyJob;
+begin
+  ScheduledTasks := TScheduledTasks.Create;
+  myjob := TMyJob.Create;
+    myjob.Id := 1;
+    myjob.Name := 'Run now and repeat every 1 second for 5 times';
+    scheduledtasks.AddTask('Task1',[myjob,1],True,
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" started',[TMyJob(task.Param[0]).Name]);
+                              TMyJob(task.Param[0]).DoJob;
+                            end
+                          ).OnException(
+                            procedure(task : ITask; aException : Exception)
+                            begin
+                              Log('task "%s" failed (%s)',[TMyJob(task.Param[0]).Name,aException.Message]);
+                            end
+                          ).OnTerminated(
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" finished',[TMyJob(task.Param[0]).Name]);
+                            end
+                          ).OnExpired(
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" expired',[TMyJob(task.Param[0]).Name]);
+                            end
+                          ).RepeatEvery(1,TTimeMeasure.tmSeconds,5);
+
+    myjob := TMyJob.Create;
+    myjob.Id := 2;
+    myjob.Name := 'Run now, repeat every 1 second forever';
+    scheduledtasks.AddTask('Task2',[myjob,32,true,3.2,myjob.ClassType],True,
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" started with params(Int=%d / Bool=%s / Float=%s /Class=%s)',[TMyJob(task.Param[0]).Name,task.Param[1].AsInteger,task.Param[2].AsString,task.Param[3].AsString,task.Param[4].AsString]);
+                              TMyJob(task.Param[0]).DoJob;
+                            end
+                          ).OnException(
+                            procedure(task : ITask; aException : Exception)
+                            begin
+                              Log('task "%s" failed (%s)',[TMyJob(task.Param[0]).Name,aException.Message]);
+                            end
+                          ).OnTerminated(
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" finished',[TMyJob(task.Param[0]).Name]);
+                            end
+                          ).OnExpired(
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" expired',[TMyJob(task.Param[0]).Name]);
+                            end
+                          ).StartAt(Now()
+                          ).RepeatEvery(1,TTimeMeasure.tmSeconds);
+
+    ScheduledDate := IncSecond(Now(),5);
+    ExpirationDate := IncSecond(ScheduledDate,10);
+
+    myjob := TMyJob.Create;
+    myjob.Id := 3;
+    myjob.Name := Format('Run at %s and repeat every 1 second until %s',[DateTimeToStr(ScheduledDate),DateTimeToStr(ExpirationDate)]);
+
+
+    scheduledtasks.AddTask('Task3',[myjob],True,
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" started',[TMyJob(task.Param[0]).Name]);
+                              TMyJob(task.Param[0]).DoJob;
+                            end
+                          ).OnException(
+                            procedure(task : ITask; aException : Exception)
+                            begin
+                              Log('task "%s" failed (%s)',[TMyJob(task.Param[0]).Name,aException.Message]);
+                            end
+                          ).OnTerminated(
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" finished',[TMyJob(task.Param[0]).Name]);
+                            end
+                          ).OnExpired(
+                            procedure(task : ITask)
+                            begin
+                              Log('task "%s" expired',[TMyJob(task.Param[0]).Name]);
+                            end
+                          ).StartAt(ScheduledDate
+                          ).RepeatEvery(1,TTimeMeasure.tmSeconds,ExpirationDate);
+
+    Log('Running tasks in background!',[]);
+end;
+
+end.