Jump to content

Dave Nottage

Members
  • Content Count

    1490
  • Joined

  • Last visited

  • Days Won

    36

Everything posted by Dave Nottage

  1. Dave Nottage

    Async dialog on android?

    I can understand that async dialogs are a concept that can be a challenge to embrace. Some time in the future we'll all be wondering why 😉
  2. Dave Nottage

    Async dialog on android?

    There's a good reason for that - implementing modal dialogs on Android the same way as on Windows is practically impossible. The workaround is to use async dialogs. Developers do this on Windows all the time - from one form, show another. When the user takes some action on the secondary form, do something based on that action, and close the form. The primary form will still be there when they get back 🙂 If the primary form needs to "know" what happened on the secondary form, you could expose a property or event handler on the secondary form which the primary form can examine, or handle.
  3. Dave Nottage

    Application terminate on Android/iOS

    For Android, this is the only way I've found that will quit completely and remove the task from the "recent items" list: https://github.com/DelphiWorlds/Kastri/blob/64a5600e0845862f3e3991cd1708dee82a65ff45/Core/DW.Android.Helpers.pas#L561 For iOS, it's bound to have your app rejected if it is on the App Store, otherwise: https://developer.apple.com/library/archive/qa/qa1561/_index.html
  4. Dave Nottage

    RS 11 FMX Android JFileProvider not found

    This might apply to you: https://github.com/DelphiWorlds/HowTo/tree/main/Solutions/AndroidLibraries
  5. Please see: https://github.com/DelphiWorlds/HowTo/tree/main/Solutions/AndroidLibraries
  6. Dave Nottage

    AdMob in Delphi11

    I've just added a new demo: https://github.com/DelphiWorlds/Playground/tree/main/Demos/Advertising to the Playground repo
  7. Dave Nottage

    Cannot write to GetLibraryPath (Android)

    On Android, it's not meant to be written to by the app. What is the reason why you're using that folder to write to?
  8. I don't know of any option for df that means it needs to wait for input
  9. You said you are running apps that result in: Process terminated with exit code: 0. Stockfish just locked up on me - regardless of whether or not it's waiting for input, that's not what you described
  10. Which libraries are they? Have you read their documentation to see if they actually wait for input while they're running?
  11. https://www.google.com/search?q=movie+format+compatible+across+platforms
  12. Use the IsRunning property
  13. I had originally planned on having a commercial version, however those plans changed. Now Kastri is driven mostly by sponsorship and one-off donations. Kastri Free is deprecated and developers should use Kastri instead.
  14. if you're planning on deploying to the Play Store, staying current is a better option.
  15. It runs on my Android 11 device when I build it with Delphi 11. If you're using 10.4.1, you should go to the Libraries node under the Android platform in Project Manager, right click it and click Revert System Files To Default. Like this, but you're going back a version: https://github.com/DelphiWorlds/HowTo/tree/main/Solutions/AndroidLibraries
  16. Dave Nottage

    Where I can find all implemented services documentation

    There may not be one, although this link (from the one you gave) might help: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Mobile_Tutorials:_Mobile_Application_Development_(iOS_and_Android) It might be easier to ask here if there is an implementation of what you want to use, or scan the Delphi source.
  17. Dave Nottage

    3rd party Android app or Apple app stores

    Yes. They're called Custom Apps: https://developer.apple.com/custom-apps/ Yes, that would be. It seems they're hard to find.
  18. Dave Nottage

    3rd party Android app or Apple app stores

    Play Store has a restriction on the target SDK level (30), but does not have a restriction on the minimum SDK level set for an app, so you can support users that have lower versions of Android. The iOS App Store apparently has a restriction of a minimum version of iOS 9.0. That might work if you find a viable alternative for Play Store. If you wish to target app stores, you need to stay current with Delphi.
  19. Dave Nottage

    DRM video player

    ALFmxVideoPlayer uses ExoPlayer (which supports DRM) for Android: https://github.com/Zeus64/alcinoe/blob/master/source/ALFmxVideoPlayer.pas You might be able to at least learn from the code.
  20. Dave Nottage

    Move current entity to another unit?

    No, it doesn't: https://gist.github.com/wojteklu/73c6914cc446146b8b533c0988cf8d29
  21. There's a list of minimum requirements for Big Sur here: https://support.apple.com/en-au/HT211238. Note that includes late 2014 Mac Mini. There are legal virtual solutions available online, such as MacInCloud: https://www.macincloud.com/ and MacStadium: https://www.macstadium.com
  22. Dave Nottage

    Delphi 11, migrate or wait

    Are you able to use either of the workarounds described here?: https://quality.embarcadero.com/browse/RSP-35365
  23. If you're planning on deploying iOS apps to the App Store, you will need at least macOS 10.15 so that you can use Xcode 12, the minimum required for deploying apps to the App Store. From April next year, this will change to Xcode 13, which requires Big Sur 11.3.
  24. Dave Nottage

    How to use Java functions inside Delphi FMX apps ?

    If you're just starting in this area, I recommend watching Brian Long's video. You can also use the Delphi source for hints as to what to do, as well as some of the features implemented in Kastri. If you know which Java libraries/functions you want to use, I could possibly give some hints.
  25. Dave Nottage

    Sending Email via GMail Using OAuth 2.0 via Indy

    The docs for send say that the body (what you are passing in the content when you Post) should be an instance of Message, i.e. the JSON that is specified at that link. TIdMessage.SaveToStream does not create JSON in this format. You will need to either create code to do this, or find existing code that does.
×