Jump to content

Dave Nottage

Members
  • Content Count

    1283
  • Joined

  • Last visited

  • Days Won

    28

Everything posted by Dave Nottage

  1. Dave Nottage

    disabling fmx webbrowser dark mode

    It's possible there is. My question was: What are the steps to reproduce that the website will definitely show in dark mode? Then I can test that the code will force it into light mode
  2. Dave Nottage

    Play Store - Your Device Isn't Compatible with This Version

    Looks pretty normal. Your customer might want to visit this link: https://helpdeskgeek.com/help-desk/fix-your-device-isnt-compatible-with-this-version-on-android/
  3. Dave Nottage

    disabling fmx webbrowser dark mode

    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)
  4. Dave Nottage

    Play Store - Your Device Isn't Compatible with This Version

    Please show what is in AndroidManifest.xml (i.e. not AndroidManifest.template.xml)
  5. Dave Nottage

    New bug with patch 1 for 11.1

    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.
  6. Dave Nottage

    Hardware ID

    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?
  7. Dave Nottage

    Error when compiler an Android App with KeyStore File

    Can you post what error messages you have? (like Johansy did)
  8. Dave Nottage

    How to know how app was started

    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.
  9. Dave Nottage

    FGX Native - crossplatform mobile native development

    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 🙂
  10. Dave Nottage

    Android: Opening files in external application

    By this do you mean the paths returned by, for example, GetSharedDocumentsPath and GetSharedDownloadsPath? Can you show what you have tried?
  11. Dave Nottage

    ZipMaster 1.9x with my minor fixes

    It does in Delphi 11: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_11.0
  12. Dave Nottage

    How to play sound via stream in android platform

    This suggests it can be done using TMediaPlayer: https://github.com/Embarcadero/RADStudio11Demos/tree/main/Object Pascal/Multi-Device Samples/Media/StreamingMedia
  13. Dave Nottage

    Delphi 11.1 is available

    Tracking of downloads has been set up for the "official" links would be my guess.
  14. 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.
  15. Dave Nottage

    Delphi 10.4.2 with XCode13 SDK15.0 packaging ipa fail

    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
  16. Dave Nottage

    MakeDWordIntoIPv4Address backwards result 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
  17. Dave Nottage

    Firebase Adertising Problem After IOS 14

    What happens when you run the project via the debugger?
  18. Dave Nottage

    Firebase Adertising Problem After IOS 14

    Those articles relate to Firebase Cloud Messaging, but your question seems to be about Firebase AdMob? Can you provide a minimal test project that reproduces the problem?
  19. Dave Nottage

    Is Sharing PAServer Possible (Mac)

    ..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/
  20. Dave Nottage

    PAServer iOS

    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.
  21. 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.
  22. Dave Nottage

    mismatch? SDK 15.2, iOS device 15.3

    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.
  23. Dave Nottage

    How to: Enable camera in TWebBrowser

    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 🙂
  24. Dave Nottage

    mismatch? SDK 15.2, iOS device 15.3

    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.
  25. Dave Nottage

    Generate .apk for older Android smartphones

    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/
×