-
Content Count
1560 -
Joined
-
Last visited
-
Days Won
36
Everything posted by Dave Nottage
-
As Steve said, try a blank app. Either way, use a debugger to see if you can find where the crash occurs
-
I'm interested to know how, since they both use the same folder, i.e.: Program Files (x86)\Embarcadero\Studio\22.0, same registry root etc
-
Delphi 11.2, Xcode 14, iOS 16 SDK. PAServer 13.2.11.7
-
A blank app starts fine, here. You could try using the debugger?
-
Is it failing? If so, what's the response? Also, please show how you are encoding the image to base64. If using TNetEncoding.Base64, you may encounter problems because it inserts line breaks by default, which may not be what the API is expecting.
-
The uninstall didn't remove the AppData\Roaming\Embarcadero\BDS\22.0 folder. Delete the AndroidManifest.xml file in that folder, and restart Delphi. You'll also need to delete the AndroidManifest.template.xml file from your project, and rebuild.
-
Well, I guess you could decide not to cross the street in case the Wonder Of The Seas passes through
-
Given my experience, I would trust it. The times where there has been a binary compatibility issue between updates has been very rare, and rectified soon after, if it happened at all.
-
{$IF Declared(RTLVersion111)} {$IF Declared(RTLVersion112)}
-
There was a "quick fix", however my preference is for something long-term, which I happen to be working on right now. You could try adding this jar to the Android Libraries in the project, however bear in mind the app may still fail depending on what other resources Delphi might deploy.
-
I'm wondering what happens if your machine goes down or restarts during the timer interval.
-
Please refer to the updated readme: https://github.com/DelphiWorlds/Kastri/tree/master/Demos/Biometric#readme
-
You mean Delphi 11.1? Delphi 11.2 is yet to be released. I just checked on my Android 9 device - it appears there is an issue. I'll repost again after I've found a solution. Because it needs to be added to Android 32-bit only. It will apply to both.
-
There are no such instructions in the readme for that demo project. Doing so is what has caused your problem, as it has re-enabled the jars that need to be disabled. Please re-load the original version of the demo project (BiometricD11)
-
Execute external program/command and capture output
Dave Nottage replied to softtouch's topic in Cross-platform
I don't have any concrete examples as yet, however there is this: https://github.com/DelphiWorlds/Kastri/blob/master/Core/DW.RunProcess.Mac.pas -
About 4 weeks ago I submitted an update to an app for review on Google Play Store and it took 4 days. After 2 days I queried the delay (which was unusual because the previous updates were available within hours) and they replied that such delays occur from time to time.
-
Exactly. There should be an option in the Version Info to override what the IDE defaults to (currently 30). I've now added this report to the Quality Portal: https://quality.embarcadero.com/browse/RSP-38976
-
Replicating a routine that uses OpenSSL to use another library
Dave Nottage posted a topic in RTL and Delphi Object Pascal
I'd like to be able to remove a dependency on OpenSSL, which is being used in this routine (original context here😞 class function TgoSSLHelper.Sign_RSASHA256(const AData: TBytes; const APrivateKey: TBytes; out ASignature: TBytes): Boolean; var BIOPrivateKey: PBIO; PrivateKey: PEVP_PKEY; Ctx: PEVP_MD_CTX; SHA256: PEVP_MD; Size: Cardinal; begin BIOPrivateKey := BIO_new_mem_buf(@APrivateKey[0], Length(APrivateKey)); PrivateKey := PEM_read_bio_PrivateKey(BIOPrivateKey, nil, nil, nil); Ctx := EVP_MD_CTX_create; try SHA256 := EVP_sha256; if (EVP_DigestSignInit(Ctx, nil, SHA256, nil, PrivateKey) > 0) and (EVP_DigestUpdate(Ctx, @AData[0], Length(AData)) > 0) and (EVP_DigestSignFinal(Ctx, nil, Size) > 0) then begin SetLength(ASignature, Size); Result := EVP_DigestSignFinal(Ctx, @ASignature[0], Size) > 0; end else Result := False; finally EVP_MD_CTX_destroy(Ctx); end; end; I'm a bit green when it comes to cryptography routines, so I'm not exactly sure what it is doing, and the OpenSSL docs are quite verbose, however my goal is to be able to use another library like LockBox, or DCPCrypt (if it can handle it) so as to remove the dependency on OpenSSL. Can someone help replicate it using LockBox3 or perhaps some other (non-commercial) library, or at least point to which classes should be used? -
Replicating a routine that uses OpenSSL to use another library
Dave Nottage replied to Dave Nottage's topic in RTL and Delphi Object Pascal
Thanks, however I'm after something that is cross-platform. -
The message would be that you need to target API level 31 or more. As pcplayer99 inferred, you will need to modify your AndroidManifest.template.xml, by replacing %targetSdkVersion% with the value: 31. You will also need to add an android:exported="true" attribute to the application node in the same file, so that it looks like this: <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:exported="true" android:launchMode="singleTask"> If you changed your SDK settings in Delphi SDK Manager to use API level 31, you should change them back to API level 30 unless you want to be stuck with other problems in the manifest (when compiling the app)
-
Use OnCloseQuery in the main form, and prevent the main form from closing unless the "exit" form has already been shown. If it hasn't been shown, show it 🙂
-
Is it true that using FMX units will cause android apps to fail?
Dave Nottage replied to KMarb's topic in FMX
You cannot use FMX.xxx units in an Android service built with Delphi. See: https://quality.embarcadero.com/browse/RSP-17857 -
Your Android device does not support the selected target platform architecture
Dave Nottage replied to alogrep's topic in FMX
Some devices have 64-bit CPUs, but have Android 32-bit running on them. Easiest way to find out if this is the case for you is to download an app like this. On the CPU page it reports whether the device is running in 32-bit mode. -
Can Delphi 11 IDE handle debugging two Android phones at the same time?
Dave Nottage replied to Al T's topic in Delphi IDE and APIs
Fair enough - I'd first try 2 instances of Delphi as SwiftExpat has suggested (have you tried this?), otherwise if that's too problematic: the second instance running in a Virtual Machine. -
[Solved](Delphi 11) (Android 12) 32-bit Debug Segment Fault 11 (TFile.Copy?)
Dave Nottage replied to Al T's topic in FMX
More to it than that: Updating the label (or anything UI related) needs to happen in the main thread - see Rollo62's answer- 5 replies
-
- delphi
- alexandria
-
(and 3 more)
Tagged with: