Jump to content

Rollo62

Members
  • Content Count

    1812
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by Rollo62

  1. Just did Xcode 11.2.1 and SDK 13 upload to TestFlight yesterday, it all worked well. Maybe you have to check the toolchain settings under the XCode preferences, in the past there was the need to update this or to install newer toolchain versions. Probably there is still an old toolchain left from the last beta release, which was deprecated. Since I try to make clean updates with XCode as well, I never needed to to this in the last years.
  2. Hi there, I've try to optimize my BLE codebase from time to time, and there was always an issue with disconnecting BLE devices on mobile. This is decribed in this article nicely, and give some more clues and insights probably. I used to completely destroy my TBluetoothLE object, to get at least a working disconnect, although this sometimes may hang for 10 sec. and needed 2-3 trials before it really was ready to re-connect a new device. This article above gives some more explanations to the issue where the root cause of the problem may lay. Again I tried to remove the TBluetoothLE.Free and several other harsh measures, but the disconnect issue strikes back of coarse. I've tried to disable and re-enable BluetoothLE, which looked very good at first sight, but then made problems again on different Android devices. Since my TBluetoothLE.Free code is quite "messy" and more ad-hoc, I wanted to clean up (like every year). Maybe someone has similar issues, and found probably other solutions to the issue ? Would be great if we could share our experiences here. BTW: This issue also concerns iOS of coarse, but I think the issue with Android is harder at the moment.
  3. Rollo62

    [Fmx, Android] TBluetoothLE device disconnect

    Yes, probably thats adding issues on top. But I'm afraid this is a more deep issue in Android (as well as in iOS). There are many references in the web where it leads to the same conclusions, that BLE is not very stable implemented. https://stackoverflow.com/questions/23110295/difference-between-close-and-disconnect https://devzone.nordicsemi.com/f/nordic-q-a/38422/android-disconnect-and-close-do-not-disconnect https://medium.com/@martijn.van.welie/making-android-ble-work-part-2-47a3cdaade07 https://android.jlelse.eu/lessons-for-first-time-android-bluetooth-le-developers-i-learned-the-hard-way-fee07646624 https://punchthrough.com/android-ble-development-tips/ You have to play around with various methods, timing, callbacks, etc., to find a workable solution. I had hope that somebody has experienced the same issues, and knows probably a good and clean way to solve this. In above article from Martijn van Welie the Blessed library is recommended, as more iOS compatible and "friendly", so I have hope that such improved library may also exist for Delphi. If not, maybe some fixes for the BLE System libraries might exist, but I always try to avoid this, especially if they cannot be accessed easily. I think that the main issue that Delphi is used to make fast prototypes, but not stable applications for BLE in most cases, where these issues might be acceptable.
  4. Rollo62

    [Fmx, Android] TBluetoothLE device disconnect

    I'm just doing first tests on Samsung Galaxy S7 Edge, Samsung Galaxy S9 Plus, iPhone XS and iPhone 6 S. While IOS behaves quite friendly, no need to destroy the BluetoothLE device, on Android the devices not always get clean without destroying. Just to make it clear, it works with the destruction mehtod more or less stable, but I would like to find a less drastic and more reliable way. I'm working on the 4th generation of my libraries now, and I really wonder if there is no right way to connect/disconnect devices. Usually connecting once is no problem, but after disconnect sometimes work, sometimes don't sometimes need to wait about 20 sec., as described in that articla. If there is a golden way to cleanup, would be great know, I just make experiments with TJBluetoothAdapter.disable, but unfortunately Embarcadero had hidden many relevant classes in the implementation sections of the units. When I use the embarcadero samples, all is fine, unless I call device.disconnect, or the device disconnects by power off, or the device goes out-of-range etc. Connection is OK, but clean disconnection seems not really much considered in those libraries, or maybe even in the Android/iOS SDKs itself.
  5. Rollo62

    No KeyUp for numpad keys after relese Shift

    Maybe a small Sleep(200); in the repeat-until loop may help the OS to process the messageloop ?
  6. Rollo62

    Unit uDGVMUtils and 64 bit...

    Probably this is a somewhat newer version with some fixes, not sure about 32/64 Bit, but you could check. http://www.delphi4arab.net/forum/printthread.php?tid=9984 This may help as well. https://www.oipapio.com/question-6309338
  7. Rollo62

    Just knowledge

    Not sure is this may cause any issues as you describe, but the free version seems to accept only Android namespaces. http://www.fmxexpress.com/utility-to-generate-java-android-class-and-jar-file-interfaces-for-delphi-xe5-firemonkey/ Are you using the payed version ?
  8. Rollo62

    HiKey 960 / 970 ARM development kits?

    Not tested, but Seems that it is targeted at the lowest end of FMX compatibility. Even if it still may work, likely in the next update Android 4.4 is maybe no longer supported. I would consider that.
  9. Nice, thanks for sharing. I see another thing, but maybe I had too fast overlooked the code ( TL;DR; ). I would assume that the files are not listed in the normal, sorted order, as they seems to pop-up at any time. So if the original order of the FileList is important, maybe you need to add a position indicator in the message ?
  10. Rollo62

    HTML Library limited offer

    @Alexander Sviridenkov Have you considered to get a special HtmlComponents forum space here in DP ? Maybe you can check with Daniel about what the conditions would be to get such space. I think this is a great place for technical discussions.
  11. Hi there, I an checking how existing apps could move flawlessly from APK towards the new AAB AppBundle, and I think it makes sense to have two different keys for one for app-signing (which is then hold at Google, after sign in to AppBundle) and one for uploading the app. There description of how the new upload keystore's might be generated, and how certificate can be extracted from such keystore from AndroidStudio. Unfortunately the RadStudio's "create new keystore" option will only create .keystore files, and the explanation above is for a keystore in .jks format. I naively thought that the keytool command above could work with any format (incl. .keystore), but I get a message that it cannot read the key. Firstly I must explain that there were at least two keytool's: one in Java JDK1.8.0_60 and one in Java JRE1.8.0_60 directory, I considered both should be 1:1 the same EXE, but they aren't. After some investigation I have choosen the JDK1.8.0_60, since this should be the right choice, but I can be wrong. Does anybody have a clue howto create a new .keystore and upload this to Google PlayStore, to be used as new upload keystore ? Maybe this can be done only by mailing to Google support and adding an upload certificate (which can be downloaded in the PlayStore AppSignature section). But that doesn't really make sense to me. For the app-signing first time, I can use the PEPK.jar tool, which can be downloaded to extract the certificate from a given .keystore, I would expect a similar mechanism for changing upload keystores, but I cannot find it.
  12. Rollo62

    HTML Library limited offer

    My greetings and best wishes to you ..., unfortunately I'm on renewal
  13. Rollo62

    SVG graphics in FMX applications

    Thanks for the great article, also me I like TPath, TPathData a lot, which gives much more flexibility in UI design. 1. In your list of alternatives you missed HtmlComponents, which also include a quite powerful SVG engine. 2. TPathData is really a great tool, but I found out a while ago that it doesn't seems to support all SVG curve types yet. It seems to support the cubic bezier curves, like this from string to internal format: 'C': begin CurvePoint1 := GetPointFromString(PathString, Pos); CurvePoint2 := GetPointFromString(PathString, Pos); CurveTo(CurvePoint1, CurvePoint2, GetPointFromString(PathString, Pos)); while HasRelativeOffset(PathString, Pos) do begin CurvePoint1 := GetPointFromString(PathString, Pos); CurvePoint2 := GetPointFromString(PathString, Pos); CurveTo(CurvePoint1, CurvePoint2, GetPointFromString(PathString, Pos)); end; end; 'c': begin CurvePoint1 := GetPointFromString(PathString, Pos); CurvePoint2 := GetPointFromString(PathString, Pos); CurveToRel(CurvePoint1, CurvePoint2, GetPointFromString(PathString, Pos)); while HasRelativeOffset(PathString, Pos) do begin CurvePoint1 := GetPointFromString(PathString, Pos); CurvePoint2 := GetPointFromString(PathString, Pos); CurveToRel(CurvePoint1, CurvePoint2, GetPointFromString(PathString, Pos)); end; end; But the quadratic bezier curves seems not be implemented right now: 'Q', 'q': begin GetPointFromString(PathString, Pos); GetPointFromString(PathString, Pos); end; 'T', 't': GetPointFromString(PathString, Pos); Maybe this is a feature or a bug, I hope you have some more insight about the SVG details, since you delved more deeply into it. My original thought was that maybe quadratic and cubic bezier curves are compatible, and I could replace one with the other, but I had no time yet to proof this. Why else should Embarcadero miss these implementations ? However, I totally agree and can only recommend to use more SVG via TPath in your apps. Advantages are for me: - very likely less memory footprint than many bitmaps of same object (x1.0, x2.0, x3.0, red version, green version, ...) - can change stroke/fill color on demand - can be dynamically changed, giving a kind of animation
  14. At least those old numeric systems were activating the mental arithmetic in everyday life.
  15. Rollo62

    Using WorkAreaHeight for MaxClientHeight

    In FMX have you checked the Application Events with OrientationChange under FMX.Platform ? They fire on iOS and Android, Not sure about Wintel .
  16. Rollo62

    Delphi 10.3.2 with Xcode 11 and iOS 13?

    Ok, finally its back again. But I had to - remove the updated XCode 11.2.1 before (the XIP extraction and copy method seems to have some flaws, altough XCode runs fine) by throwing XCode.app in the waste bin and clean up some remains, old ScratchDir, etc. - re-boot VM, to be on the safe side - re-install XCode 11.2.1 from the AppStore - re-boot iPhone - re-connect iPhone, XCode is preparing (which is a good sign). - Close RadStudio - Reboot RadStudio VM (to be on the safe side) - Restart and open RadStudio - Remove in SDK Manager the old 13.2 SDK's - Add new 13.2. SDK - Build RELEASE - Deploy with Transporter (or old ApplicationLoader) - Done I think the problem my occured by unzipping XIB file and overwriting the old XCode (although this was recommened in several places). It seems that the SDK or tools were not updated. Better if I did a complete cleanup of XCode before, but since that was not available in the AppStore, it was not really a "usual install", so I avoided to cleanup in the first place. So I will be careful with Apple's hurry up fixes in the future, if Apple only would let me keep my old version running (which they didn't). Anyway, getting back productive now, thats good for me, and maybe helps other to avoid such scenario.
  17. Rollo62

    Delphi 10.3.2 with Xcode 11 and iOS 13?

    Yes, no problem. Thanks for help anyway. Regarding Transporter (and the whole deployment), maybe this file is interesting too. Regarding the XCode 11.2.1 Problem, I just downloaded from official AppStore, no more XCode 11.2.1 DM Seed version needed. ! Available since 1 day, after issues yesterday ... Why can Apple not give at least a reasonable timespan to allow updates when developers are ready for it, instead forcing us to update but not delivering any product. Sometimes I think I'm in the wrong place, in the wrong time ...
  18. Rollo62

    Delphi 10.3.2 with Xcode 11 and iOS 13?

    Ok, the problem was not the upload to the AppStore, that always worked. But I got the message that wron SDK or other stuff was used for compiling. It seems that I have downloaded XCode 13.2.1 GM Seed, from XIP file, but that didn'T really update the SDKs, which may cause such issue. I soon will check further whats going on. Update: Ok, now the XCode 11.2.1 seems to be officially in the AppStore, and I just try to install it. No more fancy XCode 11.2.1 GM Seek stuff, which was the only way yesterday. What a bu....hit ...
  19. Rollo62

    Saving registry keys

    Stupid question: Does Temp really exist (typo, wrong UTF8-character, etc.) ? I usually put a FileExists before such things, to be sure. 'C:\Temp\Notepad.reg'
  20. I think that depends a lot on what languages you are targeting. See i18n for howto handle different pluralities in other languages well, this can get very scaring.
  21. Rollo62

    Delphi 10.3.2 with Xcode 11 and iOS 13?

    Alt least I can confirm the process so far: https://stackoverflow.com/questions/43663097/how-to-install-xcode-from-xip-file 1. Download the XCode.xip file from https://developer.apple.com/download/ after sign in. 2. Double-click the XCode.xip file to unpack it 3. After unpacking you see the XCode.app, which can be simple copied abd overwrite the existing old app under Applications So far XCode 11.2.1 start and shows up normally, lets see what happens next. 4. XCode opened looks normal, all is there. .xip file seems to be a kind of patch, not a real installation, the additional tools were not downloaded automaticall. 5. Connection phone showed yelloe prepare header very fast, seems no new DebugImage was loaded 6. RadStudio SDK Manager shows option to add SDK 13.2. I decided to keep the old SDK 13.2 and update local file cache 7. Build project and debug, OK (needs more testing, but complex app works normally) 8. Build release works normally 9. Upload to AppStore: not OK Here comes the catch, it came back with same error message as above (wrong commandline tools, wrong SDK). 10. So I need to know how to probably re-load commandline tools in XCode. And I have to check what happens if I add a second 13.2 SDK entry in SD_K Manager (where I have a bad feeling in my tummy). Or if there is anything else which could update the SDK. Maybe tomorrow I got more insights, for today I lost enough hours, and will go to sleep. If all doesn't work, I will try a complete, clean re-install of the XCode.xip file, which will cost another hour, but who cares (Apple does not, for sure ...)
  22. Rollo62

    Delphi 10.3.2 with Xcode 11 and iOS 13?

    Again Apple made my day 🤬 Running perfectly with XCode 11.2, until suddenlyI see this message: As far as I know XCode 11.2 is NO beta version, I already made uploads to AppStore a few times. Was deprecated for some reasons (I really don't want to know). Now it forces me to install XCode 11.2.1 (which I cannot find in the store, by the way). Which I can find here https://developer.apple.com/documentation/xcode_release_notes/xcode_11_2_1_gm_seed_release_notes/ https://9to5mac.com/2019/11/05/apple-xcode-critical-update/ Everybody who still believes that Apple has the better software lives on another parallel planet. It looks as this 11.2.1 could be a beta version, and I still cannot upload anything. Shall I spend another half a day to find that out ? Apple really putting me in serious trouble, since I cannot meet my schedules by this beta bug desaster in the last weeks. Maybe somebody has some recommendations, or at least the right place where to download XCode 11.2.1. Update: This was the right answer, where to find it. By searching the member download area I can't see it. https://apple.stackexchange.com/questions/374515/why-is-xcode-11-2-1-not-appearing-in-the-app-store-updates-tab Still the question what to do, Shall I update and can I install apps again ?
  23. Rollo62

    Tlabeledit for fmx

    Not sure what you require, maybe that helps as base, but its VCL ? In FMX you simply can drop label on edit or vice-versa, to create a combined component. With layout align and margins you can do a lot.
  24. Rollo62

    64bit testing hardware/emulation

    But I cannot proceed using the same version code. Yes, I have to study this more deeply, but I'M not sure if that is related to the same apk. Already the first view showas all these rules, I try to confirm as far as I can get today in red color:
  25. Rollo62

    64bit testing hardware/emulation

    I just tried that out, with same app, compiled to 32-Bit and 64-Bit. 1. I uploaded 64-Bit version to internal test: All OK 2. I uploaded 32-Bit version to internal test: Failure: "You have already uploade app with same version code" This is what I expected, so if you says its possible to upload separate 64- and 32-Bit apps, can please explain how ? Of coarse I could upload 32-Bit with new version code, but isn't this new version then overriding the 64-version as well ?
×