Jump to content

Rollo62

Members
  • Content Count

    1945
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by Rollo62

  1. OMG: It's worse. It seems XCode 14.3.1 is not running on Sonoma anymore, why . https://forums.developer.apple.com/forums/thread/731005 Is this the case, or is there any hack how this can be done? Updating Apple products is always a pain in the a**, but this time it really seems to break my workflow completely. So do I have to upgrade to XCode 15.2, or is there any way out?
  2. Hi there, from a very early startup of an iOS project, I've got the following exception, when stepping over simple variables. ( RadStudio Rx11.3 ) These are same stuff for a bunch of similar sets, just several similar Excludes() like this, so nothing fancy: Exclude( LFeatCurr.States.State, Grant_FG ); Exclude( LFeatCurr.States.State, Granting_FG ); Exclude( LFeatCurr.States.State, Grant_BG ); Exclude( LFeatCurr.States.State, Granting_BG ); All variables and other stuff is tested and seems OK so far, where the exceptions seem to be thrown mostly at the last-before position, but maybe also at other positions randomly. The same project worked fine so far during debugging. Message: "Invalid Thread ID: -1" [6C6C1392]{dbkdebugide280.bpl} Debug.TProcess.GetThreadFromId (Line 8835, "Debug.pas" + 7) + $1C [6C6B31A1]{dbkdebugide280.bpl} Debug.TDbkBreakpoint.DoHandleWhenOccurs (Line 2384, "Debug.pas" + 10) + $9 [6A529962]{gdbdebugide280.bpl} GdbDbkWrapper.TDbkBkptWrapper.BreakpointHits (Line 1181, "GdbDbkWrapper.pas" + 2) + $B [6A6765CE]{gdbdebugcore280.bpl} GDBProcess.TGDBProcess.NotifyBreakpointOccurred$ActRec.$0$Body (Line 2338, "GDBProcess.pas" + 8) + $1A [71E015BF]{rtl280.bpl } System.Classes.CheckSynchronize (Line 15785, "System.Classes.pas" + 34) + $A [6BCF6E97]{fmx280.bpl } FMX.Platform.Win.TPlatformWin.ThreadSync (Line 3503, "FMX.Platform.Win.pas" + 3) + $2 [71E05C1C]{rtl280.bpl } System.Classes.StdWndProc (Line 18517, "System.Classes.pas" + 8) + $0 [717D5263]{vcl280.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 11488, "Vcl.Forms.pas" + 23) + $1 [717D52A6]{vcl280.bpl } Vcl.Forms.TApplication.HandleMessage (Line 11518, "Vcl.Forms.pas" + 1) + $4 [717D55E5]{vcl280.bpl } Vcl.Forms.TApplication.Run (Line 11657, "Vcl.Forms.pas" + 27) + $3 [00DB80A2]{bds.exe } bds.bds (Line 227, "" + 16) + $2 At that time, only 5 threads were active in the debugger, and they look pretty much OK too. What puzzles me is the relation to VCL in the exception data above. Maybe that means the exception is caused by the IDE or debugger himself, or there is anything else running terribly wrong. I will try to restart & retry, but would like to ask with these data inspection first, to clarify if this is maybe a known behavior and to identify the culprit here. So far I see this kind of "external" debugger exception for the first time.
  3. All objects under same layout and managing layers and groups with TLayout: Yes, definitively. Not sure what kind of "opacity" you need, but you could also put finally a TRectangle as cover over all, with Align := Contents, and set HitTest := False, Stroke.Kind := None, File.Color := White (or Black depending on your design), and set Opacity as you desire. This will "grey out" the underlying objects, while they are still active.
  4. You o ly can use APK for Debugger, Switch from Project Relese to Debug, that should Do it.
  5. Why, this is a typical problem for young start-ups that have developed brand new and fancy products that have suddenly and unexpectedly gone incredibly viral, but unfortunately, they have not 100% stable infrastructure and business processes yet. Their main goal would be to stabilize all processes and infrastructures as quickly as possible so that they do not disrupt and hinder the delivery processes created by the hype surrounding their fancy products.
  6. At least, DocWiki looks OK to me. Praise the Lord, it's back again
  7. You should cleanup the expired certificates in keychain. Apple dislikes ambiguent certificates there.
  8. Rollo62

    Delphi12 Andrioid SDK Install Problem

    Have you checked the right 32/64 bitness of APK and Phone OS ? Oh, no, it could be this one https://en.delphipraxis.net/topic/10704-delphi-12-and-android-14/
  9. Good to hear that D12 is so successful that datacenters starts boiling Move on like that
  10. That might be the case, but I see another typical problem on the horizon. I call it the "case solved" problem, where one might think a case is solved once for all, never considering that there may lie any hidden problems inside. Especially with threads, this might lead to long and painful problem searches, if you are too sure about your initial solution. But you'right, depends on the case, which we don't really have seen right now.
  11. Yes, but why hiding TEvent information, when this was made especially suited for Threads, not the Sleep method. This might avoid that someone, who is new to threads, that he is stepping into the wrong direction from the first step. I personally like to lay all info on the table, with all pro's and con's, where the user can decide well on his own. I think, to refine a wrong, too early decision later on can be a lot harder than necessary.
  12. Rollo62

    Delphi 10.4 on Xcode 15 and iOS 17 - Crash on start

    Are you able to run a simple Xcode app? If so, the system should be ok and you could try a simple, new and empty Delphi app.
  13. Rollo62

    Delphi 10.4 on Xcode 15 and iOS 17 - Crash on start

    Copy the original FMX.Platform.iOS to your project folder, under the project directory, that directory where the *.dproj file sits. Perhaps you need to unlock the write protection of that file. Make the changes. Additionally, add this copied, edited file to the project tree itself. That should replace the original file by your edited, copy of that file, and should use that from now on for linking.
  14. Rollo62

    Delphi 10.4 on Xcode 15 and iOS 17 - Crash on start

    https://en.delphipraxis.net/topic/10768-iphone-1721-an-xcode-152-issue/?tab=comments#comment-85705
  15. Rollo62

    How can I make TTimer run in the main tread ?

    Perhaps a case of flooding, I would protect this like that: procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Enabled := False; sndPlaySound('C:\Windows\Media\Tada.wav', SND_NODEFAULT Or SND_ASYNC); Timer1.Enabled := True; end; But I think you can run several sounds anyway in parallel, which may of course run in a new thread each. The end of a sound can also be delayed, so that maybe the audio is not yet cleared, before the next requests starts. Edit: Sorry - Below was FMX related, not VCL Have you tried with MediaPlayer instead? https://docwiki.embarcadero.com/RADStudio/Athens/en/Playing_Audio_Files For this I'm pretty sure that this will play several parallel sounds in the background, without problems. -------------------------------------------------------- But there were options for VCL as well https://docwiki.embarcadero.com/RADStudio/Sydney/de/Einer_Anwendung_Audio-_oder_Videoclips_hinzufügen
  16. I had high hope in some of the Grijjy tools as well, unfortunately I must say that they mostly turn out to be proof-of-concept only. I can see not much roadmap, improvements or long-term support ( CloudLogger 5yr old ) . Maybe someone can proof me wrong, I hope so For a logger I can recommend Dave's DeviceLens for Android, which works nicely and is well-supported.
  17. Good question. I have the feeling that Androids policies changes more fast than you can write a line of code. Of course other IDE (Android Studio) might be better supported, but I think in general all developer face the same problems nowadays: A code running today, probably is outdated tomorrow. I think this is not dependent much on the IDE's or frameworks you use, but it's an Apple and Google policy, to keep developers under permanent stress level.
  18. Untested: This is a proposal from ChatGPT regarding such conversion: This is quite complex, and I've tried to double-check against Wolfram-Alpha, but it seems to stay with this standard approach. Would be interesting to know if this works and is correct for you. As it tells below: Better test deeply and against some known positions, before using this productive. unit LKS92Conversion; interface uses System.SysUtils, System.Math; type TCoordinate = record Easting: Double; Northing: Double; end; function LatLonToLKS92(Lat, Lon: Double): TCoordinate; implementation const // WGS84 Ellipsoid constants a = 6378137.0; // Semi-major axis f = 1 / 298.257223563; // Flattening e = sqrt(2 * f - f * f); // First eccentricity // LKS-92 constants n0 = -6000000.0; e0 = 500000.0; k0 = 0.9996; lambda0 = 24; // Central meridian in degrees function DegToRad(Degree: Double): Double; begin Result := Degree * (Pi / 180); end; function LatLonToLKS92(Lat, Lon: Double): TCoordinate; var LatRad, LonRad, N, T, C, A, M, x, y: Double; begin LatRad := DegToRad(Lat); LonRad := DegToRad(Lon - lambda0); N := a / sqrt(1 - e * e * sqr(sin(LatRad))); T := sqr(tan(LatRad)); C := (e * e / (1 - e * e)) * sqr(cos(LatRad)); A := cos(LatRad) * LonRad; M := a * ((1 - e * e / 4 - 3 * e * e * e * e / 64 - 5 * e * e * e * e * e * e / 256) * LatRad - (3 * e * e / 8 + 3 * e * e * e * e / 32 + 45 * e * e * e * e * e * e / 1024) * sin(2 * LatRad) + (15 * e * e * e * e / 256 + 45 * e * e * e * e * e * e / 1024) * sin(4 * LatRad) - (35 * e * e * e * e * e * e / 3072) * sin(6 * LatRad)); // Calculate Easting and Northing x := k0 * N * (A + (1 - T + C) * A * A * A / 6 + (5 - 18 * T + T * T + 72 * C - 58 * e * e / (1 - e * e)) * A * A * A * A * A / 120); y := k0 * (M + N * tan(LatRad) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A / 24 + (61 - 58 * T + T * T + 600 * C - 330 * e * e / (1 - e * e)) * A * A * A * A * A * A / 720)); Result.Easting := e0 + x; Result.Northing := n0 + y; end; end. ------------------------------------------------------------ With Wolfram Alpha: uses SysUtils, Math; type TLatLon = record Latitude: Double; Longitude: Double; end; TUTMCoordinates = record Easting: Double; Northing: Double; Zone: Integer; end; function LatLonToUTM(LatLon: TLatLon): TUTMCoordinates; const WGS84_A = 6378137.0; // Major semiaxis [m] WGS84_B = 6356752.314245; // Minor semiaxis [m] WGS84_F = 1/298.257223563; // Flattening WGS84_E = 0.081819190842622; // First eccentricity K0 = 0.9996; // Scale factor var Lat, Lon, N, T, C, A, M: Double; Zone: Integer; begin Lat := DegToRad(LatLon.Latitude); Lon := DegToRad(LatLon.Longitude); Zone := Floor((LatLon.Longitude + 180) / 6) + 1; N := WGS84_A / Sqrt(1 - WGS84_E * WGS84_E * Sin(Lat) * Sin(Lat)); T := Tan(Lat) * Tan(Lat); C := WGS84_E * WGS84_E * Cos(Lat) * Cos(Lat) / (1 - WGS84_E * WGS84_E); A := Cos(Lat) * (Lon - DegToRad((Zone - 1) * 6 - 180 + 3)); M := Lat * (1 - WGS84_E * WGS84_E / 4 - 3 * WGS84_E * WGS84_E * WGS84_E * WGS84_E / 64 - 5 * WGS84_E * WGS84_E * WGS84_E * WGS84_E / 256) - Sin(2 * Lat) * (3 * WGS84_E * WGS84_E / 8 + 3 * WGS84_E * WGS84_E * WGS84_E * WGS84_E / 32 + 45 * WGS84_E * WGS84_E * WGS84_E * WGS84_E / 1024) + Sin(4 * Lat) * (15 * WGS84_E * WGS84_E * WGS84_E * WGS84_E / 256 + 45 * WGS84_E * WGS84_E * WGS84_E * WGS84_E / 1024) - Sin(6 * Lat) * (35 * WGS84_E * WGS84_E * WGS84_E * WGS84_E / 3072); Result.Easting := (K0 * N * (A + (1 - T + C) * A * A * A / 6 + (5 - 18 * T + T * T + 72 * C - 58 * WGS84_E * WGS84_E) * A * A * A * A * A / 120) + 500000.0); Result.Northing := (K0 * (M + N * Tan(Lat) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A / 24 + (61 - 58 * T + T * T + 600 * C - 330 * WGS84_E * WGS84_E) * A * A * A * A * A * A / 720))); if LatLon.Latitude < 0 then Result.Northing := Result.Northing + 10000000.0; // Add offset for southern hemisphere Result.Zone := Zone; end; ------------------------------------------------------------------- The same task to Bard, comes up with this, more simple solution: function ConvertLatLonToLKS92(Latitude: Extended; Longitude: Extended): Extended; var DeltaX, DeltaY: Extended; SinLatitude: Extended; begin SinLatitude := Sin(Latitude * Pi / 180); DeltaX := 268.3383 * Cos(Longitude * Pi / 180) * SinLatitude; DeltaY := 614.6800 * SinLatitude - 511.000 * Cos(Longitude * Pi / 180) * SinLatitude; Result := Latitude * 100000 + Longitude * 1000 + (DeltaX + DeltaY) / 100; end; I think GPT is too complex and Bard is too simple, or is any working for you?
  19. Rollo62

    Delphi 12 and Android 14

    You are not alone, even the so much hyped Flutter may show this: https://github.com/flutter/flutter/issues/137895 Have you checked the App Bundle support for 32-Bit and 64-Bit? https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Submitting_Your_Android_App_to_Google_Play#Android_App_Bundle_Support or are you uploading APK, instead of AAB to the PlayStore? Nevertheless, on my Samsung S23 this works nicely, no matter if D11.3 or D12. Do you have any more details, logs or the like?
  20. Have you experimented with Skia already, does it help to get faster and smoother repaints?
  21. Maybe this is also interesting background info: https://www.ionos.com/digitalguide/websites/web-development/iso-8601/ https://wiert.me/2020/10/21/delphi-get-timestamp-as-iso8601-string-for-use-in-filenames/ https://wiert.me/2011/08/18/iso-8601-date-time-and-datetime-in-delphi-was-simple-example-to-show-datetime-now-in-iso-8601-format-on-ideone-com-online-c-compiler-debugging-tool/
  22. Hi there, I've got suspicious log messages, with an Android App under Rx11.3. I am not using any 3rd Party frameworks, nor can I imagine what could cause this warning. When I check, these fieds seems to be deprecated since Android 10, related to accessing screen contents. https://developer.android.com/about/versions/10/privacy/changes#screen-contents In the sources under FMX.Platform.Screen.Android, there seems to be a possible relation to DisplayManager, maybe this is doing something with the display. https://developer.android.com/reference/kotlin/android/hardware/display/DisplayManager#virtual_display_flag_auto_mirror https://developer.android.com/reference/kotlin/android/hardware/display/DisplayManager#virtual_display_flag_secure or maybe RestrictedScreenReading has to do with it ... https://source.android.com/docs/core/permissions/restricted-screen-reading?hl=en FMX.Platform.Screen.Android: TAndroidScreenServices = class(TInterfacedObject, IFMXMultiDisplayService, IFMXScreenService, IFMXDeviceMetricsService, IFMXFullScreenWindowService) ... public property DisplayManager: JDisplayManager read FDisplayManager; property IsPrimaryDisplayDefined: Boolean read FIsPrimaryDisplayDefined; property PrimaryDisplay: TDisplay read FPrimaryDisplay; end; But that is a rough guess. The app seems to behave normally, but I wonder if that might cause probems in the future. I'm testing under Android 14 now. If anyone knows how to get rid of these warnings, or at least a hint where this could be related to, please let me know.
  23. Rollo62

    SonarDelphi v1.0.0 released!

    <OT> From where do you get that impression? You are right, TMS FixInsight seems a little outdated https://www.tmssoftware.com/site/fixinsight.asp?s=history but I'm waiting for the coming D12 update anytime soon. Do you have other informations, regarding TMS Insights future? </OT>
  24. Oh my, I wanted to make an urgent update, before porting to D12. I expect many new issues in apps, under D12, probably 1-2 weeks to get it stable again. How is your experience, is it more or less smooth to migrate, for mobile stuff? Ok, it seems I have to look into D12 sooner than I hoped.
  25. Rollo62

    SonarDelphi v1.0.0 released!

    Like with all Cloud services, before diving deeper into whats their technical details and purposes, I ALWAYS check their pricing terms first. In most cases, this is a real showstopper for me and this early pricing evaluation saves a lot of my time. Regarding SonarCube, they have the worst terms I have seen since many years, clearly a winner for the golden lemon
×