Quantcast
Channel: IOS | Delphi XE8 10 Seattle Berlin Tokyo Rio Sydney Firemonkey, Delphi Android, Delphi IOS
Viewing all 75 articles
Browse latest View live

50+ RAD Server REST Clients In Many Languages For Most Platforms

$
0
0

RAD Server has built in support for the OpenAPI (Swagger) REST endpoint documentation format. It provides both YAML and JSON definitions of the endpoints. RAD Server is the REST server framework that ships with RAD Studio (Delphi and C++Builder). A single site and multisite license come with RAD Studio Enterprise and Architect respectively. The open source Swagger Code Gen project can take your Swagger definition file and generate clients for your REST endpoints in a wide variety of languages and frameworks which should work on most platforms. This allows you to access RAD Server from pretty much any language or framework. Want to connect your Flutter client to RAD Server? Have at it using the dart client. Want to connect your fancy Python AI project to RAD Server? Have at it using the python client. What to connect your legacy Android app to RAD Server? There is an Android client for that. Want to connect from PHP (the language that runs 80% of the web) to RAD Server? There is a PHP client for that. There is an online Swagger Editor where you can upload your definition file and generate the clients. I took the default RAD Server Swagger JSON file (available from /api/apidoc.json) which is only the built in endpoints for RAD Server and plugged it into the online Swagger Editor. Once you add your own custom resource modules to RAD Server with your own endpoints it would contain your endpoints as well. You can find out more about documenting your RAD Server endpoints in the documentation. I generated a RAD Server REST client for each of their client options and uploaded that client to Github. The host was set to the default localhost:8080 search (which is what RAD Server’s debug server runs on by default).

In addition to REST Clients is also generates HTML documentation and Atlassian Confluence markup. The Confluence markup is in the cwiki project and the different HTML documentations are in dynamic-html, html, and html2 projects. The html2 project is probably the nicest of the three as it also contains sample usage code with each endpoint that corresponds to the other Swagger clients (curl, Java, Android, Obj-C, Javascript, C#, PHP, Perl, and Python). The online Swagger Editor itself uses the live documentation Swagger UI project which you can also download and use with your Swagger YAML/JSON files.

What was somewhat disappointing about the Swagger CodeGen clients so far is that of the three clients that I tried (bash, csharp, and powershell) all of them require extra work to get running. They have various syntax errors out of the box that have to be fixed before they will compile. This was not unique to the RAD Server JSON definition either as I tried the Swagger CodeGen with other Swagger JSON files with similar results. Additionally, I’m not so sure how clean this generated code is as it seems to have a lot of boilerplate code for what are relatively simple endpoints. The cross platform FireMonkey client code (for Android, IOS, OSX, Windows, and Linux) generated by Auto Tables for RAD Server feels much easier to read and simpler to use. At the same time starting out with a pre-generated client in the programming language or framework you need really goes a long way towards making RAD Server accessible and eases the integration process.

Here is a list of the REST clients/projects I generated for RAD Server:

  • ada
  • akka-scala
  • android
  • apex
  • bash
  • clojure
  • cpprest (generator errored out)
  • csharp
  • csharp-dotnet2
  • cwiki
  • dart
  • dart-jaguar
  • dynamic-html
  • eiffel
  • elixir
  • elm
  • erlang-client
  • flash
  • go
  • groovy
  • haskell-http-client
  • html
  • html2
  • java
  • javascript (generator errored out)
  • javascript-closure-angular
  • jaxrs-cxf-client
  • jmeter
  • kotlin
  • lua
  • objc
  • perl
  • php
  • powershell
  • python
  • qt5cpp
  • r
  • ruby
  • rust
  • scala
  • scala-gatling
  • scalaz
  • swift
  • swift3
  • swift4
  • tizen
  • typescript-angular
  • typescript-angularjs
  • typescript-aurelia
  • typescript-fetch
  • typescript-inversify
  • typescript-jquery
  • typescript-node

Head over and check out all 50+ clients in many languages for RAD Server over on GitHub.


Learn How To Deploy Delphi 10.3 Rio FireMonkey Apps In The Cloud Via HTML5

$
0
0

Delphi 10.3 Rio FireMonkey apps are cross platform with a single codebase and single UI that target the Android, IOS, Macos, Windows, and Linux platforms (FMXLinux was recently added to Delphi 10.3 Rio Enterprise and Architect). You can also deploy Delphi FireMonkey apps to the web using websockets and HTML5. The method for doing this is basically the FireMonkey app runs on a Windows or Linux server and it’s canvas draws are sent to the web browser via a websocket. Each user connection runs one copy of the app on the server (so one user one app). The server is running the app so it needs enough hardware for however many concurrent apps you want to run.

For FireMonkey Windows apps this can be achieved through Thinfinity VirtualUI. Thinfinity is a commercial product which a cost per concurrent user. The user connects to the Thinfinity server, Thinfinity launches the FireMonkey app, handles the user input, and sends the drawing to the browser client. Thinfinity has been around for quite a few years and I would consider it a pretty mature product. It supports enterprise features like load balancing and ActiveDirectory login. You can also use it with Windows apps written in other languages (like C++ and C#).

For FireMonkey Linux apps this can be achieved through FMXLinux and Gtk Broadwayd. FMXLinux is also a commercial product but has recently been made available to Delphi 10.3 Rio Enterprise and Architect developers for free (just open GetIt and install it). FMXLinux allows FireMonkey apps to run on Linux desktops using the Gtk UI library. Gtk comes with an application called Broadwayd which will stream the Gtk app out to HTML5 via websockets. Broadwayd runs on a single port (8080) per app and you can click compile in Delphi 10.3 Rio and see your FireMonkey app in the browser served up from you Linux machine if you start the broadwayd server prior to deployment. If you want to run a pool of FireMonkey apps on Linux like Thinfinity does on Windows you can set up a Linux bash script to do so.

The purpose of the bash script is to run X number of FireMonkey apps through broadwayd (remember 1 app per port) and then use a load balancer make all of the apps accessible via a single port. In order to do this second part there is a Linux package called balance which can do this for you. One limitation of it is that it will only do 16-32 apps in it’s app pool unless you compile the source yourself. You can install balance with “sudo apt install balance” on Ubuntu or “yum install balance” on CentOS. Broadwayd and balance are open source and free applications but the solution is also not as polished as Thinfinity UI. You could also build something in Delphi using TidMappedPortTCP instead of using balance. For commercial deployments I’d recommend going with Thinfinity though.

Here is the sample bash script I put together which handles hosting multiple apps on a single port for you. Save the script as gtkcloud.sh and “chmod +x gtkcloud.sh”. It takes two parameters. The first parameter is the path to the app you want to run and the second parameter is the port you want to run the load balanced app on.

#!/bin/bash
for i in {1..16}
do
    nohup broadwayd :$i &
    export GDK_BACKEND=broadway
    export BROADWAY_DISPLAY=:$i
    $1 &
    #echo ""
done

servers=""

for ii in {1..16}
do
    let port=8080+$ii
    servers="$servers localhost:$port:1 %"
done

echo $servers

balance $2 $servers

Example usage is as follows and would host 16 instances of /root/FireMonkeyPaintDemo on port 81.

./gtkcloud.sh /root/FireMonkeyPaintDemo 81

And that is all there is to it. You can run your Delphi FireMonkey apps on Android, IOS, Macos, Windows, Linux, AND the web using a single codebase and single UI.

Download the gtkcloud broadwayd + balance bash script for hosting Delphi FireMonkey FMXLinux apps.

Don’t have Delphi 10.3 Rio Enterprise or Architect? You can still use FMXLinux with you Delphi Pro FireMonkey apps.

Head over and check out the full website for FMXLinux and learn about deploying Delphi desktop apps to Linux.

Mega Fixes And Updates For Delphi 10.3.2 Firemonkey On Android, IOS, MacOS, Windows, And Linux

$
0
0

RAD Studio 10.3.2 Rio (Delphi + C++Builder) has been released with some significant enhancements to the Firemonkey framework. 10.3.2 includes a new MacOSX 64-bit compiler to satisfy new Apple requirements for desktop development. Shortly before the release of 10.3.2 FMXLinux was made available via GetIt as well bringing Firemonkey to Linux (and HTML5). This means that the target platforms that Firemonkey currently officially supports are now Windows 32-bit, Windows 64-bit, MacOS 32-bit, MacOS 64-bit, Android 32-bit, IOS 32-bit, IOS 64-bit, Linux 64-bit, and HTML5 (through web sockets). That is a pretty impressive target platform list to be able to deploy to with a single UI and single codebase using natively compiled code.

Items from the release that related to cross platform Firemonkey are:

  • FireMonkey styles performance optimization
  • Better FullScreen mode on iOS including visible status bar
  • Android FireBase Support
  • Android Improvements to icons for all notifications.
  • Updates to Google Play services and Maps to match Firebase version support requirements.
  • Firebase replaces Google Cloud Messaging (deprecated by Google).
  • FireMonkey Linux provides the ability to create GUI applications for Linux,
  • Improvements in FMX support for the macOS platform, for both 64-bit and 32-bit apps.
  • TEdit improvements on Android.
  • Improved compatibility with older versions of Android.
  • TMediaPlayer quality on Android and Windows.

The list of fixes applied to FireMonkey 10.3.2 are as follows:

“Copy from” in read only TEdit or TMemo does not work FireMonkey RSP-22936
“Include Splash Image” [Unchecked] causing crash on app start. FireMonkey RSP-24057
“Numbers” mode on virtual keyboard does not persist FireMonkey RSP-23745
[10.1.2 Regression] TColorComboBox behaviour FireMonkey RSP-18451
[10.2.3 Regression] Demonstration application “VideoPlayback/VideoPlayerTest.dpr” on Android does not work FireMonkey RSP-22956
[Android] TrackBar is not trackable after click outside of track button FireMonkey RSP-23055
[mac]Window list does not appear on Dock menu. FireMonkey RSP-12309
[MacOS] A crash in FMX.Forms when closing a modal window FireMonkey RSP-18217
[Win] TMainMenu top level MenuItems do not respond to the OnClick event FireMonkey RSP-14707
Android Tedit , TnumberBox dont’ accept local decimal number FireMonkey RSP-21848
Android, TMessageReceivedNotification: TForm ist not shown FireMonkey RSP-24676
Any multithreaded Android app can crash! FireMonkey RSP-24446
Bitmap size too big Exception FireMonkey RSP-15923
bug in function TPathData.GetNumberFromString FireMonkey RSP-21452
Bug TMediaPlayerControl when Form Changed FireMonkey RSP-19193
Cannot Create OpenGL Context etc under Android FireMonkey RSP-23205
Compile for macOS 64 bit FireMonkey RSP-20725
Degradation in TStyledMemo FireMonkey RSP-23611
error in TAndroidNativeView.Destroy FireMonkey RSP-24666
Error-message by open a Datamodule with TImageList FireMonkey RSP-21878
Firemonkey on macOS – modal forms do not completely disable background form FireMonkey RSP-18065
FMX.Dialogs.ShowMessage() on Android freezes animation FireMonkey RSP-21342
Form->Hide() on macOS hides all forms FireMonkey RSP-21792
GestureManager report error when selecting standard gestures FireMonkey RSP-24503
Get a runtime error in context method ‘DoDrawPrimitivesBatch’ FireMonkey RSP-23198
GL_TEXTURE0 unavailable under MacOSX FireMonkey RSP-16360
Google Play Services packages for Android need updating FireMonkey RSP-21273
Hints causing exceptions on iOS and Android FireMonkey RSP-23673
How to optimize Styles loading, TText and TLabel – a way to easily speed up styles and TText (DelAmp problem) FireMonkey RSP-21096
Icons on Notifications in Android with 26 SDK FireMonkey RSP-23087
Implement FullScreen on iOS including visible status bar FireMonkey RSP-19655
Loading styles from files doesn’t update backgrounds FireMonkey RSP-21252
MenuItem.Visible does not work anymore since De 10.3.1 Rio FireMonkey RSP-23916
Modal form moves behind other form FireMonkey RSP-17765
MultiView (platform) z-order stops working with TBannerAd FireMonkey RSP-23350
NotificationCenter: 2 bugs with Android FireMonkey RSP-16034
Object inspector scrolling crashes IDE (TLisview) FireMonkey RSP-24710
on android Tedit with plateform style will crash if android EditText style have no background FireMonkey RSP-24712
on win xp can not run fmx app. FireMonkey RSP-22943
OnClick-Event ist never fired for MainMenu-Item on Top-Level FireMonkey RSP-22016
Point not in layout FireMonkey RSP-24059
Property TSaveDialog.DefaultExt is doesn’t work on macOS FireMonkey RSP-21788
Resizing Firemonkey TListView removes custom added TListViewItem at runtime FireMonkey RSP-24668
Setting the read only property has no effect under Android and delphi 10.3 FireMonkey RSP-23346
TControl3D.LocalToScreen returns wrong value FireMonkey RSP-24418
TEdit with Readonly = True still allows Backspace to work in Android FireMonkey RSP-23910
TEdit: Android Application terminates when virtual keyboard is closed using arrow (“hide”) button, in horizontal device layout only. FireMonkey RSP-23471
TInAppPurchase Memory Leak FireMonkey RSP-24613
TLayer3D with button raised EContext3DException exception on macOS FireMonkey RSP-21530
TListView Searchbox issue on iOS FireMonkey RSP-23812
TMainMenu Does Not Update When TForm.StyleBook Is Changed FireMonkey RSP-24549
TMapView + Android 9 FireMonkey RSP-23638
TMediaPlayer (FMX) does not set State to Stopped on Win32 (does on Android and MacOS) FireMonkey RSP-21688
TMediaPlayerControl and TMediaPlayer won’t stop under Delphi 10.3 with Android FireMonkey RSP-21936
TMediaPlayerControl does not show the video but the audio play fine FireMonkey RSP-19581
TMemo exception if emoticon at end of line on Android FireMonkey RSP-23474
TTextLayout.PositionAtPoint not work under macos (and maybe ios too) when wordwrap = false FireMonkey RSP-16648
TViewport3D Align-Client size not correct on Android. FireMonkey RSP-18519
TWinWindowHandle.DpiChanged improperly scale window FireMonkey RSP-18270
Use of TMainMenu on OS X suspends main thread FireMonkey RSP-20488
Using Bitmap Canvas in a thread causes warnings in Android logcat FireMonkey RSP-24298
When modal dialog closes, the modal form also closes. FireMonkey RSP-13874
Window minimize-restore via taskbar icon click is broken in all Windows flavours FireMonkey RSP-16233
Wrong TCriticalSection is used in CreateJBitmapFromYuvBuffer method in FMX.Media.Android FireMonkey RSP-23791
[Android, iOS]Complex TPath with Gradient causes App Crash FireMonkey, FireMonkey\Components RSP-15647
2 Popup Menu were shown at the same time. FireMonkey, FireMonkey\Components RSP-13869
Even after the patch of February this error happen: Context3D Exception with message ‘Cannot activate shader program for ‘TContext Android FireMonkey, FireMonkey\Components RSP-19814
[10.1.2 Regression] Cannot register custom bitmap codec in FireMonkey FireMonkey, FireMonkey\Runtime RSP-19170
TCanvasD2D.DoDrawPath will not close paths in some cases causing graphics corruption FireMonkey, FireMonkey\Runtime RSP-16336
[MacOS] TTimer OnTimer not triggered when a native menu is displayed FireMonkey, RTL, RTL\Delphi RSP-24295
[FMX] Multiple errors with memory manager ? FireMonkey, RTL\Delphi RSP-19653

 

Check out the full list of over 400 fixes for Delphi 10.3.2 FireMonkey on Android, IOS, OSX, Windows, Linux, and HTML5!

Useful IDE Expert For Adding OSX And IOS Frameworks Plus Managing SDKs In Delphi Rio 10.3.2

$
0
0

Developer David Nottage has released a free IDE Expert plus MacOS companion app for Delphi 10.3.2 to enhance the management of SDKs within the IDE, enhance the management of PAServer on MacOS, and tweak IOS deployment in Delphi 10.3.2. It has an expert which gets installed into the IDE and then it also has a companion app that runs on your Mac for managing SDKs. The features that Mosco lists are:

  • An much enhanced experience of adding frameworks to SDKs (lists all available public frameworks in the SDK)
  • Instantly switch between SDKs, including for macOS, iOS and Android
  • Instantly switch between connection profiles
  • Open Finder on the Mac to show where the deployed app is located
  • Prompt when attempting to launch an app on an iOS device when the device is locked
  • Alternative to PAServer Manager allowing you to manage multiple versions of PAServer on the Mac

 

Head over and check out the full blog post about the Mosco expert and then download it!

or

Head directly to GitHub and download the Mosco IDE Expert + companion app.

50 Cross Platform Samples For Android, IOS, OSX, Windows, Linux, And HTML5 In Delphi

$
0
0

There are 50 new cross platform samples for Delphi 10.3 Rio FireMonkey available over on Github. The demos heavily feature low code ways of using components to do more with less code. The samples cover everything from JSON and XML to REST and the device Camera. Additionally, they cover things like asynchronous HTTP requests, animations, LiveBindings, grids, drawers, and much more. The demos are available to deploy on Android, IOS, MacOS, Windows, Linux, and HTML5. The source code is freely available under a BSD license. LiveBindings and TFDMemTable components are used throughout most of the samples. Some samples are more extensive like the BubbleChatApp, the Camera sample, and the ToDoList demo. If you are just getting into FireMonkey development with Delphi or you are an old hat with Delphi there is something here for everyone. The TShadowEffect is used and examples of various Material Design elements are also visible in the demos. Some of the icons are from Material.io while some of the images used are from the Pexels site. Elements from other development tools like Cards, AppBars, BottomSheets, and Stateful controls are also demonstrated. The code used in the samples is Object Pascal but the same concepts can be used in C++Builder’s FireMonkey with the sample code easily translatable to C++. If you test these demos and have fixes on specific platforms you can contribute the fix back to the repo. Here is the full list of demos.

01-HelloWorld
02-HelloWorldStyled
03-StatelessCards
04-StatefulControl
05-OnChangeTracking
06-OnClick
07-SimpleTabs
08-FrameTabs
09-AsyncREST
10-StringGridWithJsonData
11-DrawerMenu
12-PlatformMenu
13-Animation
14-JSONStorage
15-BubbleChatApp
16-ChangeGlyphColor
17-ToggleButton
18-ButtonOnClick
19-IconButton
20-UpdateEditField
21-UpdateCheckBox
22-UpdateRadioButton
23-UpdateSwitch
24-UpdateScrollBar
25-UpdateDateEdit
26-ToolBar
27-FloatingActionButton
28-PopupMenuButton
29-FooterButtons
30-CustomFooterTabs
31-BottomSheets
32-SnackBar
33-ShowMessageDialog
34-OptionsDialog
35-RowsAndColumnLayout
36-Cards
37-Alignment
38-ListViewFromJson
39-ListViewFromStringList
40-DataImage
41-Fullscreen
42-TestConnection
43-Dial
44-TodoList
45-Calendar
46-Splitter
47-ProgressBar
48-ImageViewer
49-Camera
50-XML

Head over and check out all of the Cross Platform Samples for Android, IOS, MacOS, Windows, Linux, and HTML5.

Delphi 10.3.3 Firemonkey Update And Fixes Released On Android, IOS, MacOS, Windows, Linux, And HTML5

$
0
0
Delphi 10.3.3

Delphi 10.3.3RAD Studio 10.3.3 Rio (Delphi + C++Builder) has been released with some significant enhancements to the Firemonkey framework. 10.3.3 includes a new Android 64-bit compiler to satisfy new Google Play requirements for deployment. This means that the target platforms that Delphi Firemonkey currently officially supports Windows 32-bit, Windows 64-bit, MacOS 32-bit, MacOS 64-bit, Android 32-bit, Android 64-bit, IOS 32-bit, IOS 64-bit, Linux 64-bit, and HTML5 (through web sockets). That is a pretty impressive target platform list to be able to deploy to with a single UI and single codebase using natively compiled code.

Items from the release that related to cross platform Firemonkey are:

  • Android 64-bit support for Delphi.
  • iOS 13 and macOS Catalina (Delphi) Support.
  • Camera fixes and enhancements on Android
  • Support for Android 10, including specific improvements for the splash screen
  • Improved support for editing, virtual keyboard, and IME for iOS 13
  • Push notification improvements on iOS
  • App Tethering: Improved stability, error handling, and enhanced samples
  • FireDAC Fixes and updates
  • macOS 64 Notarization and RTTI enhancements

The list of fixes applied to FireMonkey 10.3.3 are as follows:

Image list index error after debug Compiler, Compiler\Delphi, FireMonkey RSP-26130
Delphi 10.3.2 iOS platform – When iOS is updated to 13.x, all applications developed by Delphi FMX will not be able to enter Chinese in the “Edit and Comment” component. Compiler, Compiler\Delphi, FireMonkey RSP-26429
Android ARMv8-A (64-bit) support Compiler, Compiler\Delphi, RTL\Delphi RSP-13307
IFMXCameraService TakePhoto , NeedSaveToAlbum True not working FireMonkey RSP-15820
Chinese Input Method – Candidate Windows Display FireMonkey RSP-16358
on iOS, the virtual keyboard and its toolbar (with the “Done” button) initially popup in two pieces FireMonkey RSP-16720
GDI Leaks at Fmx.WebBrowser.win.pas FireMonkey RSP-19473
SubdivCount is unecessary in GetCircleSubdivCount FireMonkey RSP-19665
When Scale is 125%, the rendering of the control using TCustomPopupForm will not be updated FireMonkey RSP-20799
Fonts wrong ? FireMonkey RSP-21508
Error in context method “doSetScissorRect” FireMonkey RSP-21514
OnClick-Event ist never fired for MainMenu-Item on Top-Level FireMonkey RSP-22016
“Cannot begin rendering scene for TContextiOS FireMonkey RSP-22902
MediaPlayerControl dissapears if combobox clicked FireMonkey RSP-23343
Firemonkey application crashes on Android after focusing on TEdit with centered text FireMonkey RSP-23357
BannerAd is flickering when you try to select another app on device FireMonkey RSP-24451
ClipChildren with rotationAngle is not working under android FireMonkey RSP-24454
Scrollable form demo doesn’t work with TEdit controltype set to Platform FireMonkey RSP-24580
Android 64 bit FireMonkey RSP-24585
Closing a window with an open TComboEdit or TComboBox Causes a Invalid pointer operation FireMonkey RSP-24612
Android, TMessageReceivedNotification: TForm ist not shown FireMonkey RSP-24676
iOS TMemo set to Platform style no longer raises KeyboardWillHide event since 10.3.2 FireMonkey RSP-25523
Firemonkey Accessibility Pack for 10.3.2 not available FireMonkey RSP-25532
Starting the camera in the CameraComponent demo on macOS prevents UI interaction FireMonkey RSP-25591
TComboBox, TComboEdit, TDateEdit unselectable / unscrollable when more than one item FireMonkey RSP-25631
FMX TListView::Items Filter exception FireMonkey RSP-25946
WebBrowser Component and Virtual Keyboard on iOS FireMonkey RSP-26029
Android App with TMapView crashes FireMonkey RSP-26244
TMapview error after Delphi 10.3.2 FireMonkey RSP-26248
Error in TAndroidDateTimePicker.Hide method FireMonkey RSP-26300
iOS 13 – system font not used -> looks like “Times New Roman” now FireMonkey RSP-26388
TBitmap.Map leaves bitmap locked on failure FireMonkey RSP-26395
OpenDialog causes Invalid Argument when used on modal dialog macOS FireMonkey RSP-26517
[Android] TTakePhotoFromCameraAction saves Image on Disk unexpectedly FireMonkey, FireMonkey\Actions RSP-13118
[Android] AutoFocus mode of TCameraComponent needs additional code to start focusing FireMonkey, FireMonkey\Components RSP-13208
PushNotification device token returned is in a different format in iOS 13 FireMonkey, FireMonkey\Runtime RSP-26381

Check out the full list of hundreds of fixes for Delphi 10.3.3 FireMonkey on Android, IOS, OSX, Windows, Linux, and HTML5!

25 Free Cross Platform Samples For Delphi’s 25th Anniversary On Android, IOS, OSX, Windows, Linux

$
0
0

Delphi's 25th AnniversaryDelphi is celebrating it’s 25th Anniversary this year and I am going to outline 25 different Delphi FireMonkey demos which should run cross platform on Android, IOS, OSX, Windows, Linux, and HTML5. The main repo for the demos is over on Github and there are 100 Cross Platform Samples there (plus the same set of demos for C++ developers!). In this post we are going to highlight 25 of the most significant demos in the 100 demo list. Let’s get started!

#1 98-EmojiApp – Display and use emoji’s.

#2 99-DrawApp – Draw tools and canvas.

#3 92-MusicPlayerApp – Play music files with TMediaPlayer.

#4 95-NewsReaderApp – Consume RSS feeds.

#5 79-EmailApp – Connect to IMAP and SMTP in this email app.

#6 85-EncryptedSQLite – Create and access an encrypted SQLite database.

#7 87-InstagramFeed – Create an Instagram style image feed.

#8 94-PlaySounds – Play sounds across multiple platforms.

#9 77-Signature – Record signatures on a canvas.

#10 65-WebView – Embed a webview (web browser) in your app.

#11 67-NotesApp – Classic take notes style app.

#12 69-MakeScreenshot – Take screenshots within your app.

#13 71-HTTPPost – Send an HTTP post request.

#14 89-HTTPImage – Download an image from HTTP.

#15 90-NativeConnectivity – Check the connectivity status of your device.

#16 88-RESTToSQLite – Download from a REST service and insert it into an SQLite database.

#17 57-RunAtStartup – Run code at the start of your app (after the splash screen).

#18 56-SimpleBarChart – Create a simple bar chart in your app.

#19 49-Camera – Utilize the device camera in your app.

#20 32-SnackBar – Create a pop up message bar at the bottom of your app.

#21 31-BottomSheets – Create a pop up menu from the bottom of the app.

#22 100-AnimatedGIF – Display animated GIFs in the app.

#23 09-AsyncREST – Make an asynchronous REST request from within your app.

#24 08-FrameTabs – Break up a large app across tabs into modular frames.

#25 44-TodoList – Create a classic todo app.

Finally, head over to the Delphi 25th Anniversary site to check out some history about Delphi and what’s ahead in 2020 according to the Delphi Roadmap.

Free Emoji Easter Egg Builder Built In Delphi Firemonkey For Android, IOS, OSX, Windows, Linux, And HTML5

$
0
0
Emoji Easter Egg Builder Delphi Firemonkey

Emoji Easter Egg Builder Delphi FiremonkeyDelphi Firemonkey lets you quickly build out prototype apps very quickly and deploy them to Android, IOS, OSX, Windows, Linux, and HTML5. I put together this Emoji Easter Eggs builder app over a couple days (between 5 and 10 hours). There are a number of different Delphi 10.3.3 FireMonkey features that are used within the app including Effects, LiveBindings, custom pixel access, sharing on mobile devices, the color picker panel components, and much more. The background color gradient can be customized,  the color of the egg, the font color, the text of the message, the design on the egg, the accessory included in the lower right of the egg, and stripes available on some of the designs. The only image used within the app is the grass image. The app was mainly developed and tested on Windows 10 so there may need to be polish done for it to work at 100% on the other platforms.  Deploying the app to HTML5 would be done via Thinfinity VirtualUI or broadwayd on Linux. The Linux version is possible via FMXLinux which is available in Delphi 10.3.3 Enterprise and Architect. In addition to the Delphi features used Emojis (special graphical Unicode characters) were used for a large part of the graphics found within the Emoji Easter Egg builder app. Emoji graphics are provided by the font and platform itself so the graphics look different depending on which platform you run the app on. One the emoji egg is configured how you would like it you can take a screenshot of your configuration. The screenshots can be saved or shared depending on the platform the app is run on.

Head over and download the full source code for the Emoji Easter Egg builder app in Delphi 10.3.3 FireMonkey on Github.

 


Massive Update With Tons Of Fixes For Delphi 10.4 Firemonkey On Android, IOS, MacOS, Windows, And Linux

$
0
0

RAD Studio 10.4 Sydney (Delphi + C++Builder) has been released with some significant enhancements to the Firemonkey framework. 10.4 includes new Metal API support on macOS and iOS and it brings significant performance improvements. Additionally, there is a new TBufferedLayout control which will cache painting of controls contained inside of it. The product itself received over 1000 updates and fixes across the IDE, RTL, VCL, and FMX. There are a ton of updates and new features in this release which makes it difficult to catalog them all!

Items from the release that are related to cross platform Firemonkey are:

  • Apple’s new launch screen storyboard requirement.
  • Delphi memory management is now unified across all supported platforms – mobile, desktop, and server.
  • New styled TMemo component on the Windows platform.
  • FMXLinux integration for building Linux GUI applications in Enterprise and Architect.
  • TWebBrowser control for iOS is now implemented using the WKWebView API
  • macOS implementation of Media Player control now used AVFoundation
  • Expanded HTTP and REST Client libraries with additional HTTPS features
  • LiveBindings Performance and Features Enhancements

The list of fixes applied to FireMonkey 10.4 are as follows:

TListView OnUpdatingObjects event handler not synch with datasource Data, Data\LiveBindings, FireMonkey RSP-16014
Live Bindings Master/ Detail problem in FireMonkey Data, Data\LiveBindings, FireMonkey RSP-16255
Access violation in dclbindcomp250.bpl when opeing a project Data, Data\LiveBindings, FireMonkey RSP-18445
FMX relationship TClientDataSet TGrid program Data, Data\LiveBindings, FireMonkey RSP-23224
Column index,1 out of bounds Data, Data\LiveBindings, FireMonkey RSP-23941
Error formatting the TDateColumn with LiveBindings on Mac Os 64 bit Data, Data\LiveBindings, FireMonkey RSP-27237
When using BindingsList, The number in the edit box is not inserted or updated after submission when the mouse clicks the up or down button of TUpDown (FMX / TSpinBox) Data, Data\LiveBindings, FireMonkey, VCL RSP-21412
Interaction of Swipe gestures with button clicks FireMonkey AP-208
fmx client align apparently ignores system toolbar at bottom of screen FireMonkey AP-209
Exception when setting the text property of a TLabel if the text contains a line feed character FireMonkey RSB-1753
Integer overflow in FMX.InertialMovement (TAniCalculations FUpdateTimerCount) FireMonkey RSB-2555
Move some TControl3D methods from private section to protected FireMonkey RSB-2724
Can’t upload MacOS-64-App to AppStore because of deprecated API usage FireMonkey RSB-3037
iOS 13 Dark mode – switch event FireMonkey RSB-3357
Video playback fails on Catalina FireMonkey RSB-3375
iOS missing property list keys for Bluetooth LE development FireMonkey RSB-3428
access to macOS Documents folder is missing from the entitlements list FireMonkey RSB-3468
Audio recording is not working even though entitlement is set FireMonkey RSB-3469
DateEdit onEnter called too late FireMonkey RSB-3486
CameraControl freezes on all windows FireMonkey RSP-11625
FMX Hint FireMonkey RSP-13220
Disabling FMX Border Icon cause tips to not be displayed FireMonkey RSP-13663
Create double buffered FMX controls FireMonkey RSP-15576
Hints not shown when BorderIcons maximize is disabled. FireMonkey RSP-16240
TGrid: move Tcolumn.Layout property to public FireMonkey RSP-16415
TTetheringAppProfile.SendStream() doesn’t return false if the transmission failed everytime FireMonkey RSP-16430
TEdit ValidChars doesn’t work on Android FireMonkey RSP-16585
Delphi 10.1 Berlin FireMonkey (Mobile platform) – English and Chinese characters arrangement proble FireMonkey RSP-16590
OpenGL we always recreate the shared context just after the form is created FireMonkey RSP-16602
Memory Leak in TTextLayoutNG from FMX.TextLayout.GPU FireMonkey RSP-16664
Toggling Active state of TCameraComponent causes app to crash FireMonkey RSP-16812
TCheckCell.DrawCell should place CheckBox image into center of cell FireMonkey RSP-17083
Pan and Zoom gestures cannot be used simultaneously in Android FireMonkey RSP-17835
Push Notifications from FCM in an Android Service and iOS FireMonkey RSP-18006
Regarding Hint problem again FireMonkey RSP-18265
[Windows] FMX TEdit Component Error!!! FireMonkey RSP-18276
Regarding Control’s ClipChildren property FireMonkey RSP-18795
TBindNavigator::Visible property does not compile in C++ FireMonkey RSP-19037
Hint on TSpeedButton Result Segmentation Fault FireMonkey RSP-19306
Firemonkey Slow Paint [BUFFER IS THE SOLUTION] FireMonkey RSP-19432
GDI Leaks at FMX.Memo.Win FireMonkey RSP-19474
SharedHint Issue/Crash on mobile devices FireMonkey RSP-19479
Add TToolbar ShowHint & ParentShowHint FireMonkey RSP-19507
The size of the TTextLayout text displayed by TTextLayout::ConvertToPath and TTextLayout::LenderLayout is different. FireMonkey RSP-19590
Please change visibility of StyledMemo method FireMonkey RSP-19944
TCurrencyColumn for TGrid does not work properly FireMonkey RSP-20095
Cant get Caret position from mouse in TMemo FireMonkey RSP-20112
TGrid.OnSetValue evoke twice when click TCheckCell FireMonkey RSP-20125
VisualBindings is Slow, should be improved FireMonkey RSP-20325
Add IIsChecked interface to TRadioButton FireMonkey RSP-20374
Add IIsChecked interface to TMenuItem FireMonkey RSP-20410
Add IIsChecked interface to TSpeedButton FireMonkey RSP-20411
Multi-point gradients fail FireMonkey RSP-20497
Androidapi.JNIBridge source appears to be misaligned with binaries FireMonkey RSP-20651
Using Metal instead of OpenGL on Mac / iOS FireMonkey RSP-20667
TListView onChange called twice FireMonkey RSP-20828
FMX.Canvas.TextToPath() on Android behaves differently to Windows FireMonkey RSP-21137
wrong behave of OnClick in TLabel (Firemonkey) FireMonkey RSP-21187
OnResize event is triggered before (Frame)Create is complete FireMonkey RSP-21188
Can’t link xcode9.4 build Static Library framework in firemonkey FireMonkey RSP-21247
Invalid assumption in TTextLayoutNG.CreateFrame FireMonkey RSP-21249
TGestureEventInfo.Distance wrong on multimonitor system FireMonkey RSP-21326
TFrame.Enabled problem FireMonkey RSP-21447
TPushDeviceTokenData must contain the NSData of the token FireMonkey RSP-21539
Dont remove “Translation Tools” (FireMonkey TLang) FireMonkey RSP-21641
Ignoring value TComboTrackBar.DecimalDigits in runtime FireMonkey RSP-21821
TakeFotoFromCameraAction property Editable doesn’t work FireMonkey RSP-21921
FMX.Listbox.TComboBox Sort ignores comparer FireMonkey RSP-21924
Changes to FMX.Memo.Style.pas FireMonkey RSP-22406
dbl-click on TEdit doesn’t select last word FireMonkey RSP-22876
IF UIFileSharingEnabled is true/YES Application Loader rejects iOS-App because of type mismatch FireMonkey RSP-22926
TMemo crash triggered by EndUpdate during destruction FireMonkey RSP-22948
Hints stop displaying after form’s handle recreation FireMonkey RSP-23062
“ld” exited with code 1 when adding TetheringManager to project (Android) FireMonkey RSP-23073
TTimer can suddenly die without any notification FireMonkey RSP-23114
FMX.ListView.OnChange fires even if item doesn’t change FireMonkey RSP-23188
Rio officially only support Android 5+ but minSDK is 19 (4.4) which has problems FireMonkey RSP-23219
Android TNumberbox: onExit gets wrong value FireMonkey RSP-23299
Visibility of TFont.FFontSvc: IFMXSystemFontService FireMonkey RSP-23757
Tooltips and hints do not function for controls placed on layout containers FireMonkey RSP-23835
procedure TCustomForm.PaintBackground; must be set as virtual FireMonkey RSP-23841
Calendar causing crashes FireMonkey RSP-23873
Popup menu closes when clicking on item separator and on disabled items. FireMonkey RSP-23890
FMX [ANDROID] unable to use NDK API beyond 22 – App Crash on 23+ FireMonkey RSP-24016
MapView.OnMarkerDragEnd does not give new position FireMonkey RSP-24168
Access violation on TEdit when TEdit.ShowHint=True and there is text in TEdit.Hint and you tap on it FireMonkey RSP-24246
TCalendar OnDateSelected trigger loop FireMonkey RSP-24324
Inner borders drawn on TEdit, TCombo, TButton, TLabel …… FireMonkey RSP-24392
AV in TFMXViewBase.insertText FireMonkey RSP-24409
miss the declaration of UIAlertController/UIAlertAction in iOSApi.uiKit FireMonkey RSP-24740
Usage descriptions that could be added for macOS FireMonkey RSP-25593
Tab Stops do not follow Tab Order FireMonkey RSP-25964
fmx gpu rendering text property bug FireMonkey RSP-25974
TPopup and TScrollBox is not working well FireMonkey RSP-26042
Implement automatic dark mode switching FireMonkey RSP-26110
TCurrencyColumn wrong display FireMonkey RSP-26184
TCalendar wrong resizing with FireMonkey styles FireMonkey RSP-26332
TDateEdit IsEmpty is not persistent FireMonkey RSP-26353
TLayout Size 0 is not persistent FireMonkey RSP-26361
TBitmapCodecManager.SaveToFile raises AV FireMonkey RSP-26363
FireMonkey scaling of PopupMenu subitems doesn’t work FireMonkey RSP-26572
[macOS 64] Crash due to a tap with three fingers FireMonkey RSP-26642
Android 64 bit app crashes when calling TInAppPurchase.QueryProducts FireMonkey RSP-27140
Any iOS app cannot start without debugger FireMonkey RSP-27146
FMX.Tmediaplayer.Duration is negative. FireMonkey RSP-27166
Firemonkey App compiled with Rio 10.3.3 is not usable on a MacbookPro with macOS10.13 FireMonkey RSP-27197
InAppPurchase.QueryProducts crash App in Android64 FireMonkey RSP-27228
Wrong Decimals in NumberBox when Value is greater than 32767 FireMonkey RSP-27282
incorrect declaration export function JSStringCreateWithUTF8CString FireMonkey RSP-27340
NSLocale missing a number of methods FireMonkey RSP-27353
FMX.TListBoxGroupHeader – default FALSE value in TextSettings.WordWrap not works FireMonkey RSP-27470
Firemomkey – android. Onkeyup event not called FireMonkey RSP-27496
Support newer Android NDK than 17 FireMonkey RSP-27509
Bad TLabel text rendering quality on some Android devices FireMonkey RSP-27520
TTreeView expanding items during begin update does not work FireMonkey RSP-27739
InputQuery on iOS should not show first prompt as message when using two prompts FireMonkey RSP-27777
ITMS-90809: Deprecated API Usage UIWebView warning from Apple FireMonkey RSP-27902
Bug in rendering ListView items FireMonkey RSP-27917
TNumberCell. Shortcoming in the validation of valid characters FireMonkey RSP-28057
FMX and VCL default exception handlers produce uninformative error messages with EAggregateException (as raised by ITask.Wait etc.) FireMonkey RSP-9539
Circular references when using 3D controls FireMonkey, FireMonkey\3D Components RSP-9785
FMX Hint Cannot display if the form is transparent FireMonkey, FireMonkey\Components RSP-12907
C++Builder 10 Seattle – Hint function will fail FireMonkey, FireMonkey\Components RSP-13065
Hint is not shown if there is no Maximize button in form frame FireMonkey, FireMonkey\Components RSP-13218
classes.dex contains superfluous gingerbread dialog classes FireMonkey, FireMonkey\Runtime RSP-13159
TApplicationEvent.WillBecomeInactive is called after TApplicationEvent.EnteredBackground for the Android platform FireMonkey, FireMonkey\Runtime RSP-18686
provider_paths.xml is missing entries FireMonkey, FireMonkey\Runtime RSP-26950
Performance optimizations – TStyledControl.FindStyleResource FireMonkey, FireMonkey\Styles RSP-10814
LongTap ​gesture event in Android has no TInteractiveGestureFlag.gfEnd​ FireMonkey, IDE RSP-23806
BannerAd header error on Windows targeted android project FireMonkey, Install RSP-20929
TNotificationCenter.PresentNotification not working on iOS10 devices (for R104) FireMonkey, RTL RSP-16762
Multi-platform App crashes on OSX when Abort is called and ‘posix.stdlib’ is in ‘uses’ section FireMonkey, RTL, RTL\Delphi RSP-19307
GLHasAnyErrors is a little useless as it’s not show the error code FireMonkey, RTL, RTL\Delphi RSP-21577
The iOS framework interface for NSNotification is missing ‘object’ property FireMonkey, RTL, RTL\Delphi RSP-24206
Light and dark theme flag for VCL and FMX styles FireMonkey, VCL RSP-21531
Replace Internet Explorer based TWebBrowser with IWebView2 FireMonkey, VCL RSP-27543

Head over and check out the full list of updates for Delphi 10.4 Firemonkey.

TStringList and TFDMemTable Contribute To The Powerhouse That Is Cross Platform Delphi Development In FireMonkey

$
0
0
Delphi Android IOS Macos Windows OSX Linux

Delphi Android IOS Macos Windows OSX LinuxOne of my all time favorite objects in Delphi is TStringList which I have been using for over 20 years. Most apps I write with Delphi usually contain at least one usage of TStringList. I rarely use arrays as TStringList usually fills that space in my toolchest (the updated array syntax makes them tempting though). TFDMemTable is becoming the new TStringList for me though as now I rarely write an app that doesn’t use a TFDMemTable at least once. Yet TStringList is still use at least once as well!

TStringList is such a versatile object because it supports easily returning it’s contents as a string and saving/loading those same contents from a file. It easily handles key value pairs, splitting strings, and holding whatever string list (as the name implies) in memory. It handles sorting and even custom sorting. It can hold a list of objects that are tied to a string name and it can even free those objects automatically with the OwnsObjects property. It can ignore duplicates like an index database table. It can even be easily searched using IndexOf or Find.

Some of my favorite TStringList methods are TStringList.SaveToFile(), TStringList.LoadFromFile(), TStringList.SaveToStream(), TStringList.LoadFromStream(), TStringList.Append(), TStringList.AddObject(), TStringList.AddStrings(), and TStringList.IndexOfName(). While the properties I use most are probably TStringList.Text, TStringList.ValueFromIndex, and TStringList.Values. You can find a full breakdown of all of these methods and properties over in the Embarcadero DocWiki for TStringList.

The details are lost but I think I even used TStringList and the legendary FastStrings library at the core of a search engine index I built at the dawn of the new millennium with ~100,000 records. The results were returned in a second or two.

TFDMemTable Data IO

Lately I’ve been using TFDMemTable because it allows me to easily LiveBind bidirectional data to visual controls. TFDMemTable is a in memory database table that is part of the FireDAC (data access library) which is available in with FireMonkey in Delphi and C++Builder. TFDMemTable supports multiple columns (not just the 2 key value columns of TStringList), indexes, searching, exporting and importing from JSON, XML, binary, and even CSV format (through TFDBatchMove). TFDMemTable can be used as a visibility state machine for buttons through livebindings (see demo).

TFDMemTable is also the recipient of JSON that is automatically imported and consumed from TRESTResponse and TRESTResponseDatasetAdapter. The JSON can be imported directly, based on a specific root field name, or even flatted so all of the fields appear as columns. TFDMemTable can even be setup as persistent so that it automatically loads and saves the data contained within it (see demo) just like as if you had used SQLite.

TFDMemTable LocalSQL And Performance

I’ve easily used over 100,000 records in a TFDMemTable on the Windows platform and it was still pretty fast. TFDMemTable can be defined as a virtual table using the TFDLocalSQL component (see demo) and then queried as if it was an SQLite table using TFDQuery and TFDTable. There are a number of performance tuning tricks for TFDMemTable available in the Embarcadero DocWiki. These tricks include turning off transaction logging, setting a record maximum, and wrapping changes in a BeginBatch EndBatch clause. When I utilize TFDMemTable with a large number of records I usually deploy the code provided in the DocWiki and see significant performance improvements.

TFDMemTable Searching

There are a number of different ways to search a TFDMemTable. Some of them require an index and some of them do not. The two main ways I’ve used are TFDMemTable.Locate() and TFDMemTable.Lookup(). The Locate() function moves the cursor of the dataset to the record if it is found while the Lookup() function does not move the cursor to the found record and instead returns the found data. Locate() and Lookup() are not unique to TFDMemTable and can be used with most FireDAC based datasets. There is a third way to search a TFDMemTable and that is through the TFDMemTable.FindKey() method. FindKey() requires an index and I’ve heard it is faster than Locate() but I haven’t used it quite as much as Locate().

As we’ve seen in the above post it is really easy to work with text based files and create structured data files like JSON, XML, and CSV in Delphi FireMonkey using both TStringList and TFDMemTable. These two objects work cross platform on Android, IOS, Macos, Windows, and Linux and can really increase developer productivity through their use. Do you use TStringList and TFDMemTable? If not what do you use instead and why?

Top Tips And Tricks To Speed Up Development With Delphi 10.4 FireMonkey On Android and IOS

$
0
0
Delphi 10.4 Sydney FireMonkey Tips

Delphi 10.4 Sydney FireMonkey TipsREST Debugger Tool

The REST Debugger is a UI based app that ships with Delphi 10.4 and allows you to easily craft REST requests. You can enter various login information and parameters and then see the results parsed into a grid based on the returned JSON. The JSON can even been flattened (using the Nested setting) so that all of JSON fields are available in the grid columns. This is great but now is where the magic happens. You can click Copy Components in the REST Debugger and then directly paste them onto your form or datamodule in Delphi 10.4 Sydney (this also works with C++Builder). It will automatically create all of the TRESTRequest components plus pipe it directly into a TFDMemTable where you can utilize the data at both design time (in the IDE) and runtime after a simple TRESTRequest.Execute call.

http://docwiki.embarcadero.com/RADStudio/en/REST_Debugger_Tool

MonkeyBuilder

If you are using Delphi or C++Builder to publish to the apps stores (verses ad hoc enterprise deployment) MonkeyBuilder can be a huge time saving utility. It offers “Single-click build/deployment of iOS and Android apps”, “Generates Android *.aab 32bit/64bit app bundles”,
“Automatically uploads *.ipa files to AppStoreConnect”, “Generate all required icons from a single 1024×1024 *.png file with the Icon Generator feature”, and a bunch of other features to streamline the app deployment process. If you’ve ever wasted time getting your apps into the App Stores take a look.

https://www.monkeybuilder.io/

TFDMemTable Design Time Edit DataSet

Delphi 10.4 has a feature with TFDMemTable where you can edit the data inside a TFDMemTable at design time. This feature can really speed up development because you can edit and bake data directly into a TFDMemTable during development. It also allows you to easily investigate the contents of a TFDMemTable at design time if you are using some of the other design time features like Executing a TRESTRequest at design time. Additionally, you can use the feature to create data at design time and LiveBind it to controls. One example of this is using TFDMemTable to hold the state of buttons (Visible True and False) across tabs. Instead of writing a bunch of state change code to toggle button visibility (especially on Android and IOS devices) you just set up the states at design time with the Edit DataSet feature and you’re done.

https://flixengineering.com/archives/398

Alcinoe Component Library For Delphi

If you’re looking to do video with Delphi FireMonkey it can be overwhelming because of all of the different formats (across devices) and building a high quality video player is not for the faint of heart. The Alcinoe component library is an open source library that has already done a lot of the hard work for you to make video work great in FireMonkey on Android and IOS. On top of the video player functionality it also offers “WebRTC delphi wrapper, native ios/android TEdit, improved firemonkey controls, Firebase cloud messaging, Android/ios facebook sdk login, Json/Bson Parser, ImageMagick wrapper, MongoDb client, and much more”. It appears to be somewhat widely used as it has a high GitHub Stars count as well.

https://github.com/Zeus64/alcinoe

100 Cross Platform Samples For FireMonkey

There are over 100 cross platform samples available in one of our GitHub repos. It features a lot of simple apps but also some more complex tricks like saving a TFDMemTable to SQLite, encrypting an SQLite database, a drawing app, an emoji navigator app, a mail app, a music player, an instagram style feed interface, an RSS newsreader, a notes app, persistent TFDMemTable sample, a connectivity tester, DNS lookup, ping sample, and many many more. There are a lot of tricks used in the samples utilizing LiveBindings (like the button visibility state trick) and even control drawing buffering with TScene. The first 50 samples are also available in C++.

https://github.com/FMXExpress/Cross-Platform-Samples

https://github.com/FMXExpress/CPP-Cross-Platform-Samples

TFrameStand / TFormStand

TFrameStand and TFormStand are an easy way to break up your app into “screens” (frames and forms). The T*Stand components provide nice transitions between the screens and make it easy to wire up the screens to navigation via code. TTabControl can also be used to do something similar but visually. For large projects with a lot of frames TFrameStand and TFormStand can be a lifesaver. It keeps the memory usage of your app down by not having all of the interface controls active at the same time. I don’t directly use TFrameStand but I did use the principles behind it using the TTabControl way to easily handle over 30 screens in an enterprise app for IOS. It helped to keep IOS from closing the app due to low memory on some of the original Ipad devices.

https://github.com/andrea-magni/TFrameStand

Boyer-Moore String Search

If you are looking to get some extra speed while searching through strings using native Object Pascal code there are some Boyer-Moore implementations that can help out. Apparently, it depends on your use case whether you get extra speed out of this algorithm or not but in the one case I tested I saw a speed increase of over 10%. Ten percent may not sound like a lot until you start talking about tasks that take a long time (like an hour). I’d rather wait 54 minutes than 60 minutes for a task to complete.

Object Pascal Boyer-Moore Version On StackOverFlow

Alternate Object Pascal Boyer-Moore Version On Delphi Dabbler

For Old Versions Of Delphi There Is The Original FastStrings Library

Delphi Javascript Bridge For TWebBrowser

If you’re looking to build apps in a similar fashion to how Electron apps are put together there is an open source library called ScriptGate which can really help out there. Basically you can use the native WebView control of the device (instead of Electron’s Chromium) and have Javascript call out to Delphi for access to the file system, notifications, and high performance code. ScriptGate makes it easy to build and ship such and app with Delphi. Electron apps are known for their high inefficient memory usage and Delphi provides a solution to that through ScriptGate. Delphi FireMonkey can compile to Windows, macOS, and Linux just like Electron. Additionally, Delphi also supports Android and IOS. You can leverage the power of the Delphi RTL from within your Electron like apps.

https://bitbucket.org/freeonterminate/scriptgate/src/master/

Significant Update Available For Delphi FireMonkey 10.4.1 On Android, IOS, OSX, Windows, And Linux

$
0
0

The latest version for FireMonkey is available in Delphi 10.4.1 and C++Builder 10.4.1. There are a massive number of fixes included which touch all major supported operating systems including Android, IOS, MacOS, Windows, and Linux. On the IOS side there was an API change for THTTPClient in the form of “The NSURLConnection API was deprecated by Apple on Mac OS X 10.11 and iOS 9, but it was still used in our HTTP Client Library. 10.4.1 introduces support for the newer NSURLSession API on both platforms. This change also addresses issues with proxy support on macOS.” Additional enhancements were made to the new TMemo on Windows and the new TMemo was also now upgraded on MacOS. Much of the “focus is on TMemo IME mode for Korean, Japanese, and Chinese (among other languages) but there are also general improvements in performance, stability, scrolling behavior, mouse selection, copy and paste, and more.” Lastly, these enhancements were added for FireMonkey:

  • The Storyboard Launch Screen has added support for icon sizes required by Apple for iOS.
  • Improved permissions management for iOS Push notifications
  • TListView OnItemClick fires even if already selected
  • Fixed an issue with inconsistent values for TMediaPlayer.Duration on Android
  • iOS WebBrowser issue with external links
  • TStringGrid OnCellDblClick event
  • TListView Checkmark Accessory disappearing

Here is a list of bug fixes as they relate to FireMonkey and cross platform development with Delphi 10.4.1:

Delphi 10.4 ListView, TClientDataSet bug in Android 10 Data, Data\Midas, FireMonkey RSP-29482
Simulator’s devices with version 11.3 doesn’t work Debugger, FireMonkey RSP-20589
Build Error Unit “Androidapi.JNI.PlayServices.Tasks’ not found. when I build Android. File Delivery, Install\GetIt RSB-4074
Roate text is not show on mobile devices FireMonkey RSP-30348
Can’t turn on camera function FireMonkey RSP-30273
LISTVIEW IOS DARK MODE FireMonkey RSP-30130
Double Click on TStringGrid FireMonkey RSP-29863
Setting Parent to nil for a frame that has a TMemo causes a crash FireMonkey RSP-29798
Issue with deploying apps to AppStoreConnect FireMonkey RSP-29692
FMX: An error occurs when undoing twice after pasting a string to Memo control FireMonkey RSP-29633
Metal backend does not support 8-bit textures FireMonkey RSP-29563
FMX TMediaPlayer.Duration nonsense value on Android FireMonkey RSP-29561
Display rotated text, some angles cannot be displayed FireMonkey RSP-29170
iOS App simply crashes with a TWebBrowser on it. FireMonkey RSP-29129
Metal is slow compare to the old quartz canvas under macos FireMonkey RSB-4208
Crash with TRadiantPathShape with metal under macos FireMonkey RSB-4207
Crash with TReflectionEffect with metal under macos FireMonkey RSB-4206
FMXTee.Canvas not compilable due to FreeAndNil change FireMonkey RSP-28780
FMX.DAE.Schema.MathTypes and FMX.DAE.Schema.GLES are missing FireMonkey RSB-4098
TabOrder information lost on parent change FireMonkey RSB-4081
TBitmap.Canvas does not work properly on Metal macOS FireMonkey RSB-4019
Windows listview font bigger at first time FireMonkey RSB-3859
TWebBrowser losing focus on EvaluateJavaScript (Android) FireMonkey RSP-27622
iOS dark mode messes up buttons with glyphs FireMonkey RSP-27620
The use of webBrowser and BannerAd on the same form makes bannerAd invisible FireMonkey RSP-27406
Edit controls appear focused when they should not FireMonkey RSP-27378
TMapview with zoom error in Delphi 10.3.3 Android FireMonkey RSP-27261
Assigning a transparent TBitmapSurface does not make it transparent FireMonkey RSP-27111
OnKeyUp does not work well on Mac FireMonkey RSP-27066
Unable to press button after iOS virtual keyboard is entered #2 FireMonkey RSB-3473
ClientArea painting problem when MainMenu wraps or unwraps. FireMonkey RSP-26601
Unable to press button after returning from suspend. FireMonkey RSB-3431
TDateEdit.ClosePicker method fails on Android FireMonkey RSP-26301
Accelerators also trigger on Ctrl, not just Alt FireMonkey RSP-26074
Dismissing TDialogService.MessageDialog causes access violation FireMonkey RSP-26009
Changing TGrid.RowCount from code makes the size adjustment strange FireMonkey RSP-25677
EvaluateJavaSript procedure causes browser flickering on Android app FireMonkey RSP-25660
TMemo – some weird issues – flickering and incorrect srollbar FireMonkey RSP-24744
TGeocoder is not returning Locality field with city name FireMonkey RSP-24431
Accessibility Package does not compile FireMonkey RSP-24082
TWebBrowser only loads PDF first time on Mac OSX FireMonkey RSP-23976
TEdit readonly property if ControlType=Platform has no effect FireMonkey RSP-23870
FMX.ListView.OnChange fires even if item doesn’t change FireMonkey RSP-23188
TMemo crashes when system time changed FireMonkey RSP-23148
Memoryleak in TControl3D FireMonkey RSP-21549
TViewport3D align errors with TTabControl on Android and iOS FireMonkey RSP-21471
TFlowLayout problems FireMonkey RSP-21442
TMemo performance problem with big data FireMonkey RSP-21376
TListView onChange called twice FireMonkey RSP-20828
Live Bindings does not work on TSpinBox and TNumberBox controls FireMonkey RSP-20661
TMemo bug FireMonkey RSP-20576
TTreeview.Clear don’t clear Selected node FireMonkey RSP-20299
[FMX] In TMemo the cursor does not correspond to the alignment of the text. FireMonkey RSP-19843
Tmemo Problem – CharCase ecUppercase or ecLowerCase FireMonkey RSP-19203
Tmemo not realign it’s content when vkback is puched FireMonkey RSP-19119
Android App Crash Tedit segmentation error 11 FireMonkey RSP-18757
TCustomForm.RecalcControlsUpdateRect; bad source code FireMonkey RSP-18200
FMX-TMemo Undo-Bug FireMonkey RSP-17870
TPrintDialog.Copies: property value doesn’t set in the print dialog FireMonkey RSP-16274
[FMX]TWebBrowser.LoadFromStrings win and Phone need different charset FireMonkey RSP-15686
Regression in TModel3D – Load MeshCollection FireMonkey, FireMonkey\3D Components RSB-2295
TModel3D generiates error when loading DAE file that works with10.2.2 FireMonkey, FireMonkey\3D Components RSB-2225
Design time issue when working with TGridPanelLayout FireMonkey, FireMonkey\Components RSB-1911
missing test on FMX.WebBrowser destroy (extra call of destructor) FireMonkey, FireMonkey\Components RSP-14724
FMX Memo Scrolling Bug FireMonkey, FireMonkey\Components RSP-12137
iOS camera needs permission FireMonkey, FireMonkey\Components, FireMonkey\Runtime RSP-29813
iOS Push notifications doesn’t working FireMonkey, FireMonkey\Runtime RSP-29793
TCameraComponent ignores set resolution on Re-Activate FireMonkey, FireMonkey\Runtime RSP-27734
FMX TFrame owned components property TabOrder values being lost. (VCL side is ok) FireMonkey, IDE RSP-29552
SDK API-Level Location folder empty after install Sydney FireMonkey, IDE RSP-29547
Default TabOrder= -1 for FMX [REGRESSION] FireMonkey, IDE RSB-3944
[macOS 64] Failure to draw a pattern on a canvas when GlobalUseMetal = true FireMonkey, RTL, RTL\Delphi RSB-3552
TCustomContextOpenGL.BuildShader crash if acode contain non-preprocessor tokens FireMonkey, RTL, RTL\Delphi RSP-16829
OnCellDblClick FireMonkey\Components\Grid RSP-29247
Can’t add icon for App Store in project options IDE, IDE\Build System, IDE\Deployment RSP-23042
Android support completely broken (on Devices running Android 6/7) RTL, RTL\Delphi, RTL\Delphi\Other RSB-4345
AV when opening a notification on iOS RTL, RTL\Delphi, RTL\Delphi\Other RSP-30335
HttpValidateServerCertificate give different data under iOS/Android/Windows RTL\Delphi\Net RSP-27220
TNetHttpClient should use proxies on macOS RTL\Delphi\Net RSP-26426
TNetHTTPClient proxy settings works under Windows but not under MacOS RTL\Delphi\Net RSP-19621

Head over and check out the full list of fixes and updates available in FireMonkey 10.4.1.

The post Significant Update Available For Delphi FireMonkey 10.4.1 On Android, IOS, OSX, Windows, And Linux first appeared on Delphi XE8 10 Seattle Berlin Tokyo Rio Sydney Firemonkey, Delphi Android, Delphi IOS.

Powerful Cross Platform Email App Sample In Delphi 10.4.1 FireMonkey For Android And IOS

$
0
0

Delphi FireMonkey Cross Platform Email App SourceOver on Github there is a sample email client which uses IMAP and SMTP for receiving and sending mail. It has basic features like viewing, composing, and sending mail. Full source code is available and it should run on Android, IOS, OSX, Windows, and Linux. It uses the Indy library which ships with Delphi 10.4.1 for IMAP and SMTP. The Indy library for email is quite extensive but only the most basic features were added into the app because it is a sample. Indy is also available for use from C++ from within C++Builder.

The email app is a sample app which is part of the 100 cross platform samples set. It was mainly tested on Windows so there may need to be small tweaks made for it to run smoothly on the other platform. It uses TFDMemTable to store settings and the mail itself. It only took 585 lines of code to build the entire app (obviously the libraries it uses are a lot more code).

Here is some sample code which shows how simple it is to send an SMTP message via Indy:

var
LMessage: TIdMessage;
LAddress: TIdEmailAddressItem;
begin
  // send
  LMessage := TIdMessage.Create(nil);
  try
    LAddress := LMessage.Recipients.Add;
    //LAddress.Name := '';
    LAddress.Address := SendToEdit.Text;
    //LMessage.BccList.Add.Address := '';
    //LMessage.From.Name := '';
    LMessage.From.Address := SendFromEdit.Text;
    LMessage.Body.Text := SendMemo.Lines.Text;
    LMessage.Subject := SendSubjectEdit.Text;

    IdSMTP1.Host := SettingsFDMemTable.FieldByName('SmtpHost').AsString;
    IdSMTP1.Port := SettingsFDMemTable.FieldByName('SmtpPort').AsInteger;
    IdSMTP1.Username := SettingsFDMemTable.FieldByName('SmtpUser').AsString;
    IdSMTP1.Password := SettingsFDMemTable.FieldByName('SmtpPass').AsString;
    case SmtpSSLCB.ItemIndex of
      -1,0: IdSMTP1.UseTLS := utNoTLSSupport;
      1: IdSMTP1.UseTLS := utUseExplicitTLS;
      2: IdSMTP1.UseTLS := utUseImplicitTLS;
      3: IdSMTP1.UseTLS := utUseRequireTLS;
    end;
    IdSMTP1.Connect;
    try
      IdSMTP1.Send(LMessage);
    finally
      IdSMTP1.Disconnect
    end;
  finally
    LMessage.Free
  end;

Head over and download the full source code for the app on Github for Delphi 10.4.1 FireMonkey on Android and IOS.

The post Powerful Cross Platform Email App Sample In Delphi 10.4.1 FireMonkey For Android And IOS first appeared on Delphi XE8 10 Seattle Berlin Tokyo Rio Sydney Firemonkey, Delphi Android, Delphi IOS.

DelphiCon 2020 FireMonkey Sessions Available Starting November 19

$
0
0

Embarcadero is having a Delphi online event in November 2020 featuring two FireMonkey sessions. The first session is around a new FireMonkey book called Delphi GUI Programming with FireMonkey by Andrea Magni. The second session called FireMonkey and Multi-Device Panel is a roundtable featuring Marco Cantù, Ray Konopka, Kelver Merlotti, David Millington and Olaf Monien. The sessions will be available after the date for on demand viewing. There are also a lot of other Delphi sessions available at Delphicon 2020.

  • Delphicon 2020 Keynote
  • Delphi at the University: Insights for Students and Teachers
  • High Performance Delphi
  • Functional Programming With Delphi
  • Delphi Product Management & Architect Panel
    Real-world CodeSite Logging Techniques
  • Windows VCL Panel
    Leveraging High DPI in VCL Applications
  • FireDAC Database Access Panel
  • Code Faster in Delphi
  • Upgrade and Migration Panel
    Delphi GUI Programming with FireMonkey
  • Powering the Web with Delphi
  • Introduction to Spring4D – Taking Delphi Development to the Next Level
  • FireMonkey and Multi-Device Panel
  • Delphi in Education Panel

Head over and watch the new Delphicon 2002 FireMonkey sessions from Embarcadero!

The post DelphiCon 2020 FireMonkey Sessions Available Starting November 19 first appeared on Delphi XE8 10 Seattle Berlin Tokyo Rio Sydney Firemonkey, Delphi Android, Delphi IOS.

FireMonkey 10.4.2 Features Updated iOS 14, Android 11, And macOS 11 Support Plus Hundreds Of Fixes

$
0
0

The latest version for FireMonkey is available in Delphi 10.4.2 and C++Builder 10.4.2. There are a massive number of fixes included which touch all major supported operating systems including Android, IOS, MacOS, Windows, and Linux. It features updated support for iOS 14 in the App Store and ad-hoc enterprise deployment. Additionally, it features support for macOS 11 Big Sur on Intel and 64-bit App Store and enterprise deployment. Finally, it supports Android 11 and App Bundle format improvements. You can check out the full release notes here. Lastly, these enhancements were added for FireMonkey:

  • MSIX support for Windows Store
  • Enhanced Code Insight using the LSP technology for Delphi and C++
  • Many Improved IDE features and a new IDE style
  • A silent installer
  • Delphi RTL and C++ RTL improvements, including Dinkumware STL
  • Quality improvements for Delphi compiler speed, the C++ toolchain, FMX, database access, HTTP, and REST client libraries, Parallel Programming Library, SOAP, the Migration Tool, and more.

Here is a list of bug fixes as they relate to FireMonkey and cross platform development with Delphi 10.4.2:

Add support for Xcode 12, macOS 11 Big Sur and iOS 14 when officially released by Apple Compiler, Compiler\C++, Compiler\Delphi, FireMonkey RSP-30806
No Warning Message when you Publish 64bit Android App on a 32Bit OS Android Compiler, Compiler\Delphi RSP-31676
MacOS64: Raising an exception causes application and PAServer to crash Compiler, Compiler\Delphi RSP-31667
Delphi gets stuck on “Installing apk” Compiler, Compiler\Delphi, FireMonkey RSP-27424
Android app compiled on Delphi 10.4.1, does not work on Google Pixel with Android 11. Compiler, Compiler\Delphi, FireMonkey RSP-31398
Android App closes/crashes if an exception is raised on TListView:OnItemClickEx-event Compiler, Compiler\Delphi, FireMonkey RSP-16639
PAServer errors FireMonkey RSB-4353
Access violation with a Styles TDateTimeEdit FireMonkey RSP-18153
TEdit with ControlType = Platform bringtofront method does not work FireMonkey RSP-13190
iOS-App crashes when Virtual Keyboard is on and when switching to another app which hides the keyboard FireMonkey RSP-30002
Texture are lost FireMonkey RSP-16121
Motion sensor does not work on Android 7 FireMonkey RSP-18644
TTrackBar does not track correctly when Tracking is false FireMonkey RSP-32116
ListView.OnItemClickEx.ItemIndex bug with non standard object FireMonkey RSP-31407
Caret (^) is not displayed in iOS. FireMonkey RSP-31897
Confusing ifdef elseif android64 FireMonkey RSP-31617
TFlowLayout affected by children’s Margins.Top FireMonkey RSP-32321
Device refresh button in toolbar broken. FireMonkey RSP-30800
errro msgs FireMonkey RSP-31365
Default ICNS file must be upgraded [Mac Store] FireMonkey RSP-30733
Firebase push notifications for iOS FireMonkey RSP-25637
Modal Forms are not modal on macOS FireMonkey RSB-2866
[FMX] TListBox FireMonkey RSB-4022
Typing after selecting a string then selected string will not be removed.(in OSX TEdit or TMemo) FireMonkey RSB-3596
FMX TPopup actions not updated FireMonkey RSP-21495
(TTextLayout::ConvertToPath -> TPath::MakeScreenShot) Text drawing is distorted FireMonkey RSP-19288
Windows can be trapped behind other windows when using showmodal FireMonkey RSP-26434
FMX. Tstringgrid customeditor access violation on change value FireMonkey RSP-24257
Updating a filtered TListView is not working FireMonkey RSP-16186
TListView refresh issue in combination with TClientDataset FireMonkey RSP-25930
FlowLayout child components order is totally random FireMonkey RSP-32009
10.4.1 regression: tflowlayoutbreak doesn’t work anymore FireMonkey RSP-31816
Access Violation during program finalization in FMX.Controls.TControl.AncestorParentChanged FireMonkey RSP-32205
TListView with LiveBinding crash with Android11 FireMonkey RSP-31548
TCustomScrollBox.InternalAlign sometimes shows scrollbar due to Single calculations FireMonkey RSP-31976
D10.4.1 TDateEdit dialog for select date is different than previous version D10.3 FireMonkey RSP-31993
Livebinding Designer does not detect TListView change of ItemAppearance.ItemAppearance FireMonkey RSP-31578
FMX [ANDROID] FMXDefaultDialogFragment.onCreate App Crash FireMonkey RSP-23962
ComboBox doesn’t scroll to make the selected item visible. FireMonkey RSP-18749
[Windows] FMX TEdit Component Error!!! FireMonkey RSP-18276
Sensors do not work in android FireMonkey RSP-24713
IOS: Premium Style TSpeedButton With StyleLookup segmentedbuttonright Out Of Alignment FireMonkey RSP-20034
CheckColumn at most right sets to default width FireMonkey RSP-20878
OpenDialog causes Invalid Argument when used on modal dialog macOS FireMonkey RSP-26517
FMX library/WIC is unable to open readonly or already opened images FireMonkey RSP-14171
Project raised exception class EJNIException with message ‘java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.contains(java.lang.CharSequence)’ on a null object reference FireMonkey RSP-24695
CMD+Q invoke onFormCloseQuery two times on macOS 32/64 FireMonkey RSP-26004
Screen.displayCount=0 for Fire HD 10 (9.Gen) FireMonkey RSP-26563
TCustomMultiResBitmap.ItemByScale is little slow FireMonkey RSP-15542
Transfer of Cookies to TWebBrowser FireMonkey RSP-22920
Can’t run Firemonkey-App on Android 7.1.2 FireMonkey RSP-20273
You are not allowed to use location services FireMonkey RSP-16406
Menu of MainMenu pops up sometimes on a wrong screen FireMonkey RSP-21871
Atom leak in FMX.Platform.Win FireMonkey RSP-16557
Date / Time Picker for iOS 14+ (14.4) FireMonkey RSP-32342
Camera Component threading issue Android FireMonkey RSP-31238
Native iOS TComboBox with 28+ items will crash FireMonkey RSP-31235
Change to TControl.SetNewScene causes virtual call to destroyed object FireMonkey RSP-31202
[macOS][Metal]TMemo and wordwrap FireMonkey RSP-31134
TGrid shows current time instead of the value FireMonkey RSP-31119
TListview crash on swipe to delete (iOS) FireMonkey RSP-31111
CloseQuery causes exception in Firemonkey on styled form FireMonkey RSP-31074
TBufferedLayout has small graphical issues FireMonkey RSP-31069
Incorrect TChart drawing on macOS Big Sur FireMonkey RSP-30202
TListView – Missing OnChange when switching entries with mouse click FireMonkey RSP-30866
Adding text to TMemo with sLinebreak-signs crashed the Memo FireMonkey RSP-30846
Behaviour different to 10.3.3 and wrong for Inserting text in TMemo FireMonkey RSP-30845
Duplicate resource FireMonkey RSP-30637
[iOS] TiOSGeocoder.GeocodeForwardHandler can cause a crash FireMonkey RSP-30483
Empty app crashing on Android 10 FireMonkey RSP-30546
Delphi 10.4.1-FMX Combo-box and Combo-edit useless becouse of latency in drop-down FireMonkey RSP-31383
TTextureStyle.MipMaps is de facto not supported on Metal FireMonkey RSP-28576
Newly created TBItmap content in not zeroed on Metal FireMonkey RSP-28895
Metal cause my ios apps to be jerky slow and flickerl FireMonkey RSP-28340
TListBox selection bug FireMonkey RSP-28235
LocationSensor is not useable FireMonkey RSP-29859
No changing center point in Brush Gradient (at least in D2D version), its fixed. FireMonkey RSP-29242
If TButton.Default=True, click is still executed even if it TButton.Enabled=False FireMonkey RSP-29788
Circumflex ^ character in edit controls not visible FireMonkey RSP-30030
TabOrder property of TPanel not saved when part of TFrame FireMonkey RSP-29989
Pressing Enter key in TComboEdit causes text to change unexpectedly FireMonkey RSP-29429
Firemonkey android form onclose no works with TCloseAction.caNone FireMonkey RSP-29529
iOS: Virtual Keyboard not switching mode when changing focus between text input controls FireMonkey RSP-30045
TMemo with Word Wrap displays Caret at start of memo in Android and iOS FireMonkey RSP-29905
Raise Exception causes application shut down under MacOS BigSur Beta2 FireMonkey RSP-30000
Custom scheme URL not working on iOS FireMonkey RSP-29996
Keyboard not showing on iOS FireMonkey RSP-29573
(Metal) 3D forms don’t render 3D controls unless there are also 2D controls on the form. FireMonkey RSP-29537
TSpeedButton does not respond after interrupting the input of Japanese IME on iOS FireMonkey RSP-28094
InputQuery window should be made wider to accomodate the caption FireMonkey RSP-27778
TComboBox item selection by typing doesn’t work FireMonkey RSP-27970
MultiView Drawer mode doesn’t work in push mode when changing orientation FireMonkey RSP-27785
Pasting into a TEdit does not behave properly when maxlength is set FireMonkey RSP-27894
TForm.activecontrol does not work? FireMonkey RSP-27486
TCanvasD2D is not threadsafe when call DrawBitmap FireMonkey RSP-27447
FMX.Graphics.TBitmap.Map with Write acess does not free underlying textures in TCanvasD2D FireMonkey RSP-27273
Cannot set tab order of fields on an FMX form where fields are in a TLayout FireMonkey RSP-27086
FMX Form No FormMouseMove Events FireMonkey RSP-27065
Light.style always shows a TCheckBox as checked when style activated FireMonkey RSP-27351
TCameraComponent can capture up to 8 times faster FireMonkey, FireMonkey\Components RSP-10592
[FMX] TListViewItem.Index is not updated after inserting new items FireMonkey, FireMonkey\Components RSP-15387
At design time, controls stored into a TGridPanelLayout are wrongly resized. FireMonkey, FireMonkey\Components RSP-17073
[Android] OnKeyUp and OnCloseQuery handlers are called twice for Back button if Key parameter is not set to 0 in OnKeyUp FireMonkey, FireMonkey\Runtime RSP-11815
FireUIAppPreview infos options must be upgrading for macOS FireMonkey, IDE RSP-30504
Trying to add a OnClick handler to a TSpeedbutton crashed FireMonkey, IDE RSB-3710
TGridPanelLayout added control jump to free cell when clicked. FireMonkey, IDE RSP-27277
Improper installation of Radiant Shapes in Delphi 10.4 FireMonkey, Install\GetIt RSP-29544
IFuture in loop issue FireMonkey, RTL RSP-19425
Android App closes if an exception is raised on Timer:OnTimer-event FireMonkey, RTL, RTL\Delphi RSP-16638
FireMonkey Form Blacked Out in IDE when Windows comes out of sleep IDE RSP-29350
Android SDK will not install IDE RSB-2669
Android SDK setup automatically chooses very old build tools IDE RSP-21979
Linker error after new iOS 14.2 update Linker RSP-31746
IOS Linking : Failed to set locale to ??2I? Linker RSP-30295
Updateing to iOS to 14.0 Linker RSP-31049
Delphi forces wrong binary into APK Linker RSP-27025
weak symbols not recognized in macos 11/iOS14 SDK PAServer RSP-31766
Linker error after Using iOS 14 PAServer RSP-31014
TXMLDocument does not suppot UTF-16 on iOS RTL, RTL\Delphi RSP-23607
CreateGUID returns wrong GUID on Android. RTL, RTL\Delphi RSP-20225
MacOS App hangs if TNetHTTPClient.OnValidateServerCertificate is assigned RTL, RTL\Delphi RSP-31643
Handling Client-side Certificates in HTTPS request for Android OS RTL, RTL\Delphi, RTL\Delphi\Net RSP-20194
REST component not work in Android app RTL\Delphi\Net RSP-30944

Head over and check out the full fix list for RAD Studio 10.4.2 FireMonkey for Android, iOS, macOS, Windows, and Linux.

The post FireMonkey 10.4.2 Features Updated iOS 14, Android 11, And macOS 11 Support Plus Hundreds Of Fixes first appeared on Delphi XE8 10 Seattle Berlin Tokyo Rio Sydney Firemonkey, Delphi Android, Delphi IOS.

Viewing all 75 articles
Browse latest View live