-
Content Count
1335 -
Joined
-
Last visited
-
Days Won
29
Posts posted by Dave Nottage
-
-
Please show what is in AndroidManifest.xml (i.e. not AndroidManifest.template.xml)
-
31 minutes ago, chenech said:Now with Patch 1 of 11.1 the save buttons are always active and the modified mark is not removed
I'm not seeing that after applying Patch 1. What I mean by that is after saving, the buttons are not enabled, and the modified mark is removed. When opening a project, there's still the bug of the IDE thinking that the project has changed, even though no changes have been made.
-
50 minutes ago, msd said:// This is error line
I don't see how that would have ever compiled in that form. Since it's a standalone function, there's no "Self" for it to refer to. Perhaps InternalGetHardwareID was once a method of an object?
-
2
-
-
Can you post what error messages you have? (like Johansy did)
-
The notification is (at least when I last checked) "received" before the app becomes active, so you could have a flag that is set when the BecameActive event fires (to indicate the app was launched), and another to indicate whether the app went into the background, and set that when the EnteredBackground event fires, e.g.:
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, System.Messaging, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs; type TForm1 = class(TForm) private FIsLaunched: Boolean; FIsBackground: Boolean; procedure ApplicationEventMessageHandler(const Sender: TObject; const M: TMessage); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; var Form1: TForm1; implementation {$R *.fmx} uses FMX.Platform; { TForm1 } constructor TForm1.Create(AOwner: TComponent); begin inherited; TMessageManager.DefaultManager.SubscribeToMessage(TApplicationEventMessage, ApplicationEventMessageHandler); FIsLaunched := False; FIsBackground := True; end; destructor TForm1.Destroy; begin TMessageManager.DefaultManager.Unsubscribe(TApplicationEventMessage, ApplicationEventMessageHandler); inherited; end; procedure TForm1.ApplicationEventMessageHandler(const Sender: TObject; const M: TMessage); begin case TApplicationEventMessage(M).Value.Event of TApplicationEvent.BecameActive: begin FIsLaunched := True; FIsBackground := False; end; TApplicationEvent.EnteredBackground: FIsBackground := True; end; end; end.
When the app receives a notification: if the app was being launched from not running, FIsLaunched should be False (does not matter what FIsBackground is), if launched from the background, FIsLaunched and FIsBackground should be True.
-
30 minutes ago, andreag0 said:you can use your favorite Delphi libraries
Last time I tried FGX (a few months ago), this was not true (at least not entirely). Anything that relies on FMX could not be used, and I actually changed part of Kastri to allow for this (i.e. so that particular part of Kastri could still be used in FGX).
That said, I concur that FGX is a fantastic product 🙂
-
2 hours ago, Bart Kindt said:I just want to open files in Shared directories
By this do you mean the paths returned by, for example, GetSharedDocumentsPath and GetSharedDownloadsPath? Can you show what you have tried?
-
8 hours ago, aehimself said:Does not support ZIP64
It does in Delphi 11: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_11.0
-
1
-
-
This suggests it can be done using TMediaPlayer:
https://github.com/Embarcadero/RADStudio11Demos/tree/main/Object Pascal/Multi-Device Samples/Media/StreamingMedia -
9 hours ago, Lajos Juhász said:Why would they asked for that?
Tracking of downloads has been set up for the "official" links would be my guess.
-
9 hours ago, dataol said:I tried to apply the suggested steps, but it doesn't return to 17,463 devices
I've extracted the steps from the article into this:
https://github.com/DelphiWorlds/HowTo/tree/main/Solutions/AndroidLowerVersions
Can you confirm you've followed the steps exactly? Check that the generated AndroidManifest.xml has the correct value for minSdkVersion, and perhaps post a screenshot here of your NDK settings.
-
1
-
-
On 10/5/2021 at 10:12 PM, Dave Nottage said:At present, reverting to Xcode 12.x is a solution
On April 1st, when deploying to App Store, Xcode 13 will be required, so in this case reverting to Xcode 12 is not a solution. See the earlier replies regarding using Mosco (and Codex) as a potential workaround for this Delphi 10.4.2 issue
-
14 minutes ago, qubits said:GStack,LocalAddress does not work on Android.
You're welcome to use the code from here:
https://github.com/DelphiWorlds/Multicaster/blob/master/MC.LocalAddresses.Android.pas
Code repeated here in case that repo ever "disappears":
unit MC.LocalAddresses.Android; interface uses IdStack; procedure GetLocalAddressList(const AAddresses: TIdStackLocalAddressList); implementation uses // RTL System.SysUtils, // Android Androidapi.JNI.Java.Net, Androidapi.JNI.JavaTypes, Androidapi.Helpers, Androidapi.JNIBridge, // Indy IdGlobal; procedure GetLocalAddressList(const AAddresses: TIdStackLocalAddressList); var LInterfaces, LAddresses: JEnumeration; LInterface: JNetworkInterface; LAddress: JInetAddress; LName, LHostAddress: string; begin AAddresses.Clear; LInterfaces := TJNetworkInterface.JavaClass.getNetworkInterfaces; while LInterfaces.hasMoreElements do begin LInterface := TJNetworkInterface.Wrap(JObjectToID(LInterfaces.nextElement)); LAddresses := LInterface.getInetAddresses; while LAddresses.hasMoreElements do begin LAddress := TJInetAddress.Wrap(JObjectToID(LAddresses.nextElement)); if LAddress.isLoopbackAddress then Continue; // Hack until I can find out how to check properly LName := JStringToString(LAddress.getClass.getName); LHostAddress := JStringToString(LAddress.getHostAddress); // Trim excess stuff if LHostAddress.IndexOf('%') > -1 then LHostAddress := LHostAddress.Substring(0, LHostAddress.IndexOf('%')); if LName.Contains('Inet4Address') then TIdStackLocalAddressIPv4.Create(AAddresses, LHostAddress, '') else if LName.Contains('Inet6Address') then TIdStackLocalAddressIPv6.Create(AAddresses, LHostAddress); end; end; end; end.
Note: this code hasn't been changed in some time. The "hack" can probably be done another way, and I'm pretty sure Yaroslav has told me JObjectToID isn't necessary
-
1
-
-
1 hour ago, Ömer Gözlek said:But, my original project isn't running as before
What happens when you run the project via the debugger?
-
2 minutes ago, Ömer Gözlek said:Dave Nottage's articles
Those articles relate to Firebase Cloud Messaging, but your question seems to be about Firebase AdMob?
3 minutes ago, Ömer Gözlek said:Is there a solution or workaround to this problem?
Can you provide a minimal test project that reproduces the problem?
-
7 hours ago, Michael Collier said:I need to plug IPhone into the Mac for it to appear.
..or use USB over IP, such as with Virtual Here:
https://virtualhere.com/osx_server_software
Or Net-USB:
https://www.net-usb.com/usb-over-ip/
-
1
-
-
1 minute ago, Michael Collier said:it has to go onto a MAC computer - correct
Correct
1 minute ago, Michael Collier said:I have a MacBook Air available, but it's not here at the moment, but I can have PAServer installed on it and connect remotely- correct?
Define "remotely". On the same local network, it is straightforward. Across the internet you'd either need to expose the PAServer publicly via the router using port forwarding, or use a VPN.
-
On 2/28/2022 at 3:00 AM, stewag64 said:Or what do you do to maintain device compatibility?
Change the %minSdkVersion% value in AndroidManifest.template.xml to something lower than 23 but not lower than 19 (Android 4.4). You'll also need to ensure that the NDK settings are also changed, as per the "Important information about the NDK settings" section in this article: https://delphiworlds.com/2020/09/manual-android-sdk-ndk-install-delphi/. Note that if you target API level 19, projects containing any datasnap components (eg TClientDataset) will not compile.
-
2
-
-
5 hours ago, Joe Sansalone said:I downloaded the zipped test project and it opens fine in Delphi IDE and builds.
Yes, it opens fine, but it has a bunch of references to icon files (for example) that are missing, and I had problems with provisioning (sorry, I did not note down the error messages). Rather than attempt to resolve the issues, I recreated the project.
-
Although this demo is related to being able to upload files: https://github.com/DelphiWorlds/Kastri/tree/master/Demos/WebBrowserFileChooser
It also has code that should help you, based on this answer on SO: https://stackoverflow.com/a/47525818/3164070
Please be aware that it requires a Java library (https://github.com/DelphiWorlds/Kastri/blob/master/Lib/dw-webchromeclient.jar, which has been added to the demo)
Looking at it now, I figure there should be comments in the code explaining exactly what it is doing 🙂
-
You might have to file a report in QP. I suggest fixing the test project, though - I had to scrap the dpr/dproj and start a new one.
-
1 hour ago, joaodanet2018 said:In the same way that the android:minSdkVersion="%minSdkVersion%" parameter indicates the API version that is minimally expected to be contained in the hardware operating system.
That's one of the important factors determining the lowest version of Android that will run the app. In the case of native Android apps (such as built with Delphi), the other factor is the NDK settings, as mentioned in the "Important information about the NDK settings" section of this article: https://delphiworlds.com/2020/09/manual-android-sdk-ndk-install-delphi/
-
2 minutes ago, Michael Collier said:If it turns out to be the second edition should I forget it
If it's a second generation, you should make sure they don't realise what a bargain you have. It retails for around £300
-
1 minute ago, Michael Collier said:I was wondering if this would be a suitable platform for testing RAD Studio 11?
Assuming it's a first generation (which it probably is, given the price), then it should be suitable, since it can run iOS 15.3.1:
https://en.wikipedia.org/wiki/IPhone_SE_(1st_generation)
Given when support has "run out" on other devices, it looks like it should be good for around another year:
https://en.wikipedia.org/wiki/List_of_iOS_and_iPadOS_devices#iPhone
disabling fmx webbrowser dark mode
in FMX
Posted
I may have a solution, however I'm having trouble verifying that it works. What are the steps to reproduce that the website will definitely show in dark mode? At present, all I'm doing is navigating to https://www.google.com, and TWebBrowser shows the site in light mode, despite the Chrome app showing it in dark mode (which is what my device is set to)