-
Content Count
1495 -
Joined
-
Last visited
-
Days Won
36
Everything posted by Dave Nottage
-
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. -
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
Why not just keep your own list? i.e. when you call AddWizard to add a wizard, save the index and the name (via GetName or GetIDString on the wizard) in your own list. -
Delphi 10.3.2 Android Application is Not Starting
Dave Nottage replied to MikeMon's topic in Cross-platform
Thanks for the log! You may need to revise your NDK settings too, given it solved this persons problem: https://community.idera.com/developer-tools/platforms/f/android-platform/67751/10-3-android-5-crash I have mine set at Android-22. The relevant part in your log is: 08-31 13:08:02.182: E/AndroidRuntime(1527): java.lang.RuntimeException: Unable to start activity ComponentInfo{cy.com.wagamama.ordercy/com.embarcadero.firemonkey.FMXNativeActivity}: java.lang.IllegalArgumentException: Unable to load native library: /data/app/cy.com.wagamama.ordercy-2/lib/arm/libWagaAppClient.so 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3151) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3261) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.ActivityThread.access$1000(ActivityThread.java:219) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1735) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.os.Handler.dispatchMessage(Handler.java:102) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.os.Looper.loop(Looper.java:145) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.ActivityThread.main(ActivityThread.java:6939) 08-31 13:08:02.182: E/AndroidRuntime(1527): at java.lang.reflect.Method.invoke(Native Method) 08-31 13:08:02.182: E/AndroidRuntime(1527): at java.lang.reflect.Method.invoke(Method.java:372) 08-31 13:08:02.182: E/AndroidRuntime(1527): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 08-31 13:08:02.182: E/AndroidRuntime(1527): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 08-31 13:08:02.182: E/AndroidRuntime(1527): Caused by: java.lang.IllegalArgumentException: Unable to load native library: /data/app/cy.com.wagamama.ordercy-2/lib/arm/libWagaAppClient.so 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.NativeActivity.onCreate(NativeActivity.java:182) 08-31 13:08:02.182: E/AndroidRuntime(1527): at com.embarcadero.firemonkey.FMXNativeActivity.onCreate(FMXNativeActivity.java:105) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.Activity.performCreate(Activity.java:6609) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134) 08-31 13:08:02.182: E/AndroidRuntime(1527): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3104) -
Delphi 10.3.2 Android Application is Not Starting
Dave Nottage replied to MikeMon's topic in Cross-platform
You might want to wind your build tools back to 28.0.3. Other than that, use a logcat viewer to find out what errors have been thrown, if any. I have a logcat viewer called DeviceLens that's in development: https://github.com/DelphiWorlds/MiscStuff/blob/master/Test/DeviceLens.zip -
That's correct. There already is (in "beta"), however yes. Mosco is just macOS related.. Codex already does some "Android-y" things: https://www.delphiworlds.com/codex/ I am considering supporting creation of Application Bundles for that, however that's dependent on how much time I have.
-
Correct. Applications can be loaded to the App Store from the command line xcrun altool, e.g: https://medium.com/xcblog/xcodebuild-deploy-ios-app-from-command-line-c6defff0d8b8 I'm planning to add App Store upload functionality to Mosco: https://www.delphiworlds.com/2019/07/delphi-10-3-2-released-introducing-mosco/
-
Which part? In any event, I use them successfully in my own experts.
-
Parsing Google Search Results redux
Dave Nottage replied to David Schwartz's topic in Network, Cloud and Web
I doubt that's the reason Now that sounds more like a reason ๐ Having said that, if you're using text-based parsing it'd be possible to workaround the lack of a <body> tag. I started looking at doing this programmatically using TWebBrowser a few days ago. If I had more time, I'd continue with it -
When you say this, do you mean for a particular project, or for any? The IDE is known to "mess up" the .dpr if you modify certain parts of it. Examples of what can happen: https://stackoverflow.com/questions/758047/how-do-you-deal-with-ifdefs-in-dpr-uses-section https://stackoverflow.com/questions/6762194/how-to-prevent-delphi-modifying-its-dpr-project-source-unexpectedly https://stackoverflow.com/questions/317997/delphi-adding-r-res-in-the-dpr-file https://wiert.me/2018/12/20/do-not-put-ifdef-with-relative-paths-in-your-dpr-as-the-delphi-ide-cannot-match-them-in-the-dproj/
-
Thanks for the link! Pretty much describes what I said ๐
-
Running the IDE in a VM on Mac Book Pro?
Dave Nottage replied to PeterPanettone's topic in General Help
Correct, however I did specify that I have a Mac. For a while I thought "well, that's ridiculous.. I have the Mac already, why would I want to run it in a VM?" ๐ -
Running the IDE in a VM on Mac Book Pro?
Dave Nottage replied to PeterPanettone's topic in General Help
My 2c: I have a MacBook Pro, and for Windows, VirtualBox has served me very well for > 7 years. I also use Parallels, however only for macOS VMs, because VirtualBox has been lagging behind in supporting newer versions of macOS. I use macOS VMs on macOS to test Delphi (and other software) against macOS betas and Xcode betas ๐ -
I don't have time to help with this particular project, however for iOS and macOS you should be using Metal: https://developer.apple.com/documentation/metal?language=objc Which is what Delphi is moving towards (from 10.4, apparently)
-
"Easy" can be subjective ๐ You'd need to have both the IDE search paths *and* the project paths. For the first, you could read the values from Search Path value for the appropriate platform in the Library subkey in the registry. For the second, you could obtain an IOTABuildConfiguration (for the relevant config) from the IOTAProjectOptionsConfigurations for the active project, and call GetValues for sUnitSearchPath (from DCCStrs). You'd also need to expand any macros in the paths. Then, starting from the project paths first, check each path (in order) for existence of the file. I think they have code for retrieving the paths somewhere inside CnWizards: https://github.com/cnpack/cnwizards
-
FireMonkey BLE Android BluetoothLE1.GetCharacteristic fail
Dave Nottage replied to pcplayer99's topic in Cross-platform
From the documentation: http://docwiki.embarcadero.com/Libraries/Rio/en/System.Bluetooth.Components.TBluetoothLE.GetCharacteristic "Warning: You must read the value of the AService.Characteristics property before you call GetCharacteristic. Otherwise, GetCharacteristic returns nil." -
This works for 10.3.x if you have some kind of PDF viewer installed on the device: uses Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers, Androidapi.JNI.Net; procedure OpenPDF(const AFileName: string); var LIntent: JIntent; LUri: Jnet_Uri; begin LUri := TAndroidHelper.JFileToJURI(TJFile.JavaClass.init(StringToJString(AFileName))); LIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW); LIntent.setDataAndType(LUri, StringToJString('application/pdf')); LIntent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION); TAndroidHelper.Activity.startActivity(LIntent); end;