-
Content Count
1560 -
Joined
-
Last visited
-
Days Won
36
Everything posted by Dave Nottage
-
You need to call Intent.setType with an appropriate type for email, e.g. plain/text message/rfc822 application/octet-stream If that still does not work, then there's probably no email client installed.
-
Error in iOS "file was built for which is not the architecture being linked (arm64)"
Dave Nottage replied to Francisco's topic in FMX
You have not added the MessageUI framework correctly, since it is appearing in "Other Paths", rather than "Frameworks". Please remove that entry and: Select an existing framework listed in the "Frameworks" section - this will ensure that none of the radio buttons are selected when the Add Remote Path item dialog shows Click the Add button In the Path on remote machine combo, enter: $(SDKROOT)/System/Library/Frameworks In Framework name, enter: MessageUI Click OK Click Update Local File Cache Click Save -
Error in iOS "file was built for which is not the architecture being linked (arm64)"
Dave Nottage replied to Francisco's topic in FMX
You'll need to show the code that's linking to the MessageUI framework. I expect it's attempting to link to MessageUI.tbd when it should be just MessageUI (i.e. no extension), and/or you've added the framework incorrectly to the SDK. -
I think that may be how I did it. I was unable to locate my old code.
-
Come to think of it, I did something like this back around the XE3 era and like you had to fight with it to make it work. Sadly, I may not have the code any more, but I'll take a look later just in case.
-
I'm using a VirtualBox VM with Android x86 ISO installed on it, which has the ability to bridge to ARM (using libhoudini). See my earlier replies.
-
You use a logcat viewer to view the logcat messages coming from the app. I have one called DeviceLens, which can be found here: https://github.com/DelphiWorlds/MiscStuff/blob/master/Test/DeviceLens.zip You may find that the Processes list does not populate (still bugs to iron out), however you should be able to press the "Play" button and watch the messages, as well as filter on text or the application package name (type it in to the package name edit and hit enter). In the Android VM, if you go to settings, there may be an entry named Android x86 Options (just after the Sound option). Tap that, then enable the Enable native bridge option (i.e. bridge from x86 to ARM). Then run Terminal Emulator (still in the Android VM) and run the following commands: su /system/bin/enable_nativebridge If you don't have the Android x86 options in Settings you may have to install a later Android x86 ISO. I used the latest available, from here: https://www.android-x86.org/ Sadly after doing all that, it still would not work for me. The app doesn't get past the splash screen, however it also does not crash. It might turn out different for you (I use VirtualBox)
-
If the IDE can "see" the device, are you able to use a logcat viewer to determine what the crash is?
-
What library are you using? Perhaps I can find a solution for you
-
You cannot, until this is fixed: https://quality.embarcadero.com/browse/RSP-10150 As per Loki's comment, one solution is to write Java code to wrap the class. Alternatively, you might be able to decompile the Java, modify the method name and recompile the jar in question.
-
Does this help? https://delphiaball.co.uk/2014/07/09/using-the-tlistview-to-select-multiple-items/
-
I have a demo of how to do this on macOS, here: https://github.com/DelphiWorlds/KastriFree/tree/master/Demos/macOSStatusBar It relies on files in the Kastri Free project: https://github.com/DelphiWorlds/KastriFree For Windows, use a TTrayIcon. I think there's plenty of examples around the internet of how to use it.
-
Additional info here: https://stackoverflow.com/a/3637349/3164070
-
If you're going to do any Android development that's even slightly outside of the scope of what's provided for you with Delphi, you need to at least have the basics for Java. I highly expect it is possible; it's a matter of knowing enough Java/Kotlin to be able to translate examples into Delphi code.
-
Rules for changing cursor to HourGlass and back
Dave Nottage replied to Mike Torrettinni's topic in Tips / Blogs / Tutorials / Videos
Consider if DoSomeLongProcess causes an exception.. what will happen to the cursor if there was no try..finally? Consider also if the cursor was something other than the default before you changed it to an HourGlass? Should you restore it to default, or to what it was before you changed it? -
Rules for changing cursor to HourGlass and back
Dave Nottage replied to Mike Torrettinni's topic in Tips / Blogs / Tutorials / Videos
These days, I avoid changing the cursor at all, but provide feedback in other ways. If it's a long running process, it'll be performed in a background thread. If you really must change the cursor, be sure to save its current value, and wrap it all in a try..finally, e.g. SaveTheCurrentCursorAndChangeToHourGlass; try DoSomeLongProcess; finally RestoreCursorToWhatItWas; end; -
In Kotlin, however does this help at all? https://medium.com/the-almanac/how-to-build-a-simple-smart-card-emulator-reader-for-android-7975fae4040f It uses the IsoDep class to send the APDU commands
-
Issue with a new and a (rather old) App for iOS with Rio
Dave Nottage replied to Sherlock's topic in FMX
Sounds like your .deployproj may have problems and/or your IDE. Make a backup of the .deployproj file, delete the existing one, do a Clean, Build, and try again. -
installing support for Android and Linux platforms
Dave Nottage replied to David Schwartz's topic in General Help
If you installed via ISO, you need to uninstall, then re-install selecting all desired platforms. If you installed via ESD, you'll have an option from the Delphi menu in Tools|Manage Platforms -
If you're a subscription customer, you should have received an invitation to participate, as per this blog article: https://community.idera.com/developer-tools/b/blog/posts/august-2019-delphi-android-beta-plans-august-roadmap-update "We’re planning on kicking off an NDA Beta for the 10.3.3 release, codenamed Sugarloaf, later this month. All customers on Update Subscription will be invited to participate in the Beta and will be able to start migrating their applications even earlier with Beta versions, which will include a specific Beta EULA waiver permitting Google Play Store deployment"
-
Android Firebase Push Notifications Patch Released
Dave Nottage replied to Marco Cantu's topic in FMX
With 10.3.2, there's just a few of the steps needed from the original tutorial: https://community.idera.com/developer-tools/b/blog/posts/firebase-android-push-notification-support-with-rad-studio-10-3-1 Which are: 8 through 10, 14, one step that's actually missing from the tutorial: In Project Options, select Application > Version Info and modify the value for "package" to match the identifier you have for the project in Firebase Console and one additional step, which is what I expect you may be missing, namely: In Project Options, select Application > Entitlement List, and check the Receive Push Notifications checkbox. I think that's everything 🙂 -
It has a "begin style" but no "end style": So my guess is: no.
-
The Overwrite Flag Has No Effect in the Deployment Screen
Dave Nottage replied to MikeMon's topic in Cross-platform
Good question. You could simulate this by transfering the APK to the device, and install it by opening it from whatever File Manager app is on the device. -cleaninstall is supposed to work for iOS also. -
The Overwrite Flag Has No Effect in the Deployment Screen
Dave Nottage replied to MikeMon's topic in Cross-platform
Yes, as per the documentation: http://docwiki.embarcadero.com/RADStudio/Rio/en/Deployment_Manager If you're running the app from the IDE, you could use the -cleaninstall option as described here: http://docwiki.embarcadero.com/RADStudio/Rio/en/Running_Your_Android_Application_on_an_Android_Device -
Is there a way to get the wizard name / executable from a nindex?
Dave Nottage replied to dummzeuch's topic in Delphi IDE and APIs
As Remy says, you cannot. Add a feature request 😉 I know how hard that can be to track down, even with debugging Delphi from Delphi. You might want to disable other experts one by one at least to find the culprit.