Jump to content

vfbb

Members
  • Content Count

    266
  • Joined

  • Last visited

  • Days Won

    30

Everything posted by vfbb

  1. vfbb

    ZXing Delphi for 10.4

    Ok, but the permission will be show just at first time. If your user negate the permission once, he will need to give the permission manually at the Settings of the iOS. In iOS go to the Settings > Your App > enable Camera, and try again
  2. vfbb

    ZXing Delphi for 10.4

    Mike, if your notebook/desktop have a webcam test in windows. Your problem on mobile can be related to the permission to have access to the camera and not in relation to the ZXing code. Here I use it only in windows, and with Delphi 10.4 is working fine.
  3. vfbb

    Your RAD Studio 10.4 Sydney issues

    I found the workaround! Add the WebKit framework to your iOS SDK and update the local file cache. After, in the unit source\rtl\ios\iOSapi.WebKit.pas in the line: var WebKitModule: THandle; {$ENDIF} Change to var WebKitModule: THandle; {$ELSE} {$IF NOT DECLARED(_PU)} const {$IFDEF UNDERSCOREIMPORTNAME} _PU = '_'; {$ELSE} _PU = ''; {$ENDIF} {$EXTERNALSYM _PU} {$ENDIF} procedure EmbedFramework; cdecl; external libWebKit name _PU + 'OBJC_CLASS$_WKWebView'; {$ENDIF}
  4. vfbb

    Your RAD Studio 10.4 Sydney issues

    The TWebBrowser.Create is crashing in the iOS. To test just add a TWebBrowser to the form and compile. The exception is raising in the FMX.WebBrowser.Delegate.iOS.pas in TNativeWebViewHelper.CreateAndInitWebView. Did anyone get a workaround?
  5. vfbb

    StoryBoard launch screen - Delphi 10.4

    No, it is correct. The name in that file is not the name your image in your computer, but the name of the image in the remote device. As I told you, just delete your app, restart your phone, open a blank project, change it by options and compile and you will see that is working.
  6. vfbb

    StoryBoard launch screen - Delphi 10.4

    The options of the delphi 10.4 is working perfectly for this, you don't have to add it manually to the deploy project and you don't need to change the storyboard files either. You can test with a new project.
  7. vfbb

    StoryBoard launch screen - Delphi 10.4

    I found the problem and this is not a delphi bug. The problem is with the iOS cache, the app don't update new launchscreen / icon, even you uninstall and install your app. The solution is: 1) Uninstall the app 2) Power down the device 3) Power up the device 4) Install the app
  8. vfbb

    ZXing Delphi for 10.4

    Just a information: The ZXing is a crossplatform solution, and is simple to implement, but is not the best choose. In Android I prefer the GoogleVision and in iOS I prefer use the apis of the AVFoundation, you will even avoid using TCamera, because it is very slow, very.
  9. vfbb

    ZXing Delphi for 10.4

    https://github.com/Spelt/ZXing.Delphi It is compatible with 10.4 (although the readmeinforms support for delphi 10.3.3) I have to inform you that there are some leaks in the spelt code, nothing that you cannot solve.
  10. vfbb

    Your RAD Studio 10.4 Sydney issues

    I don't know if this is happening only to me, but it is already the second computer that I install Delphi 10.4 and the same problem occurs. I retry with the patch1 and again the problem occur: Compilations of a simple blank package do not work for Linux64 and OSX64. Workaround: You will need to add the following directories to Library Path: Linux64 C:\Program Files (x86)\Embarcadero\Studio\21.0\binlinux64 OSX64 C:\Program Files (x86)\Embarcadero\Studio\21.0\binosx64
  11. Yes, we need to know the original problem. @PolywickStudio Another consideration, I believe that your performance problem does not involve this search, because a loop of 60,000 items comparing integers is 0 milliseconds.
  12. vfbb

    language updates in 10.4?

    @Kryvich If they implement record inheritance, now or in the future, I would prefer it to be more like an object: type TMyRecord = record(TParentRecord) Value: Integer; constructor Create; override; destructor Destroy; override; procedure Assign (const [ref] Src: TMyRecord); override; end; In this case the record would be like a "class" arc in all platforms, like strings and dynamic arrays, but with support for operators and having the exact size of their fields. It would be incredible. But if they don't implement inheritance, syntax better resemble the record operators that already exist, as the embaradero proposed: type TMyRecord = record Value: Integer; class operator Initialize (out Dest: TMyRecord); class operator Finalize(var Dest: TMyRecord); class operator Assign (var Dest: TMyRecord; const [ref] Src: TMyRecord); end;
  13. Use this LDic: TDictionary<TPair<Integer, Integer>, Integer>; To search by values of the dictionary the complexity will be O(2 * N) = O(N) by looping the LDic.Values.
  14. 98% is the number of current active apples devices with iOS 11, 12 or 13 (versions that have support only for 64 bits apps). In addition, the number of active devices supporting 64-bit apps may be even higher, as I am not counting those that have 64-bit support, and have not yet upgraded to iOS 11, 12 or 13
  15. The first 64-bit iphones were released 7 years ago (iPhone 5s), and today they are the vast majority (more than 98%), it is no wonder that Apple ended support for 32-bit iphones a long time ago. Apple has not even updated iOS 32-bit for more than 4 years, and Apple has not accepted 32-bit apps in its store for some years. I personally have not compiled anything for ios 32 bits for some years. In the beginning, the 64-bit iOS kept backwards compatibility with 32-bit apps, but that ended when Apple released iOS 11. A good way to find out how many users are running only 64-bit apps is to look at the graphics of the most used versions of iOS (11, 12 and 13 have support only for 64-bit apps).
  16. Getting the address of an geographic coordinates, and the reverse, getting the geographic coordinates of an address https://github.com/viniciusfbb/fmx_tutorials/tree/master/delphi_google_geocoding/
  17. vfbb

    Google Geocoding

    The native System.Sensors.TGeocoder does not have support for VCL because works only in Android, iOS and MacOS. And even in Android have some small devices that does not support. And in the iOS and MacOS the result can be different than the Android because the Apple use the TomTom maps. Then, if you want a full cross platform solution, VCL or FMX, to use in all devices, include linux, having the same result, the Google Maps Geocoding is the solution. In my case, my client have a Windows version, the System.Sensors.Geocoder not work, I should use just Google Maps Geocoding.
  18. vfbb

    Google Geocoding

    @Rollo62 Works in all platforms, but in my case I use this only in my server.
  19. vfbb

    borderless with aero shadow

    Roberto, now I undestand your question, but this solution not work for me. I don't know why this line is there, but if it helps you, the same is not happening in FMX applications. The possible solution may be in the units FMX.Platform.Win or FMX.Forms.Border.Win.
  20. vfbb

    borderless with aero shadow

    @RDP1974, @Turan Can To get a beatiful shadow, use the DWM API. Shadow in borderless form in VCL: unit Unit3; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs; type TForm3 = class(TForm) private { Private declarations } function SetBordelessShadow: Boolean; protected procedure CreateParams(var AParams: TCreateParams); override; procedure CreateWindowHandle(const AParams: TCreateParams); override; procedure WndProc(var AMessage: TMessage); override; public { Public declarations } end; var Form3: TForm3; implementation uses Winapi.DwmApi, Winapi.UxTheme; {$R *.dfm} { TForm3 } procedure TForm3.CreateParams(var AParams: TCreateParams); begin inherited CreateParams(AParams); if TOSVersion.Major < 6 then begin AParams.Style := WS_POPUP; AParams.WindowClass.Style := AParams.WindowClass.Style or CS_DROPSHADOW; end; end; procedure TForm3.CreateWindowHandle(const AParams: TCreateParams); begin inherited; if TOSVersion.Major >= 6 then SetBordelessShadow; end; function TForm3.SetBordelessShadow: Boolean; var LMargins: TMargins; LPolicy: Integer; begin if TOSVersion.Major < 6 then Exit(False); LPolicy := DWMNCRP_ENABLED; Result := Succeeded(DwmSetWindowAttribute(Handle, DWMWA_NCRENDERING_POLICY, @LPolicy, SizeOf(Integer))) and DwmCompositionEnabled; if Result then begin LMargins.cxLeftWidth := 1; LMargins.cxRightWidth := 1; LMargins.cyTopHeight := 1; LMargins.cyBottomHeight := 1; Result := Succeeded(DwmExtendFrameIntoClientArea(Handle, LMargins)); end; end; procedure TForm3.WndProc(var AMessage: TMessage); begin case AMessage.Msg of WM_DWMCOMPOSITIONCHANGED, WM_DWMNCRENDERINGCHANGED: if SetBordelessShadow then begin AMessage.Result := 0; Exit; end; else end; inherited; end; end. Note: You can do the same in FMX! See the difference in the images attached:
  21. Darian, I name my threads/tasks with the status also (running, wait, canceled). But this is very slow, very, specially in mobile, I had to put a {$IFDEF USE_THREAD_NAME} to enable only when I need.
  22. vfbb

    Which component to use as base class for SpeedPanel

    Because your stylelookup is empty and the default stylelookup of the TPanel is the 'panelstyle', and your new component don't have a default style. Just do this: procedure TForm1.InitSpeedPanel(sp: TSpeedPanelClass); var sb: TSpeedButton; begin sp.StyleLookup := 'panelstyle'; // <<<<<<<<< // ...
  23. @Yaron I use this library https://github.com/CMCHTPC/DelphiDX12 This was made to be used with FPC firstly, you will see many hints and warnings compiling to Delphi. But it still works for me.
  24. vfbb

    Android FMX Game App not working reliably

    Other possibility: Are you using threads/tasks for draw bitmaps? Or for change the UI?
  25. vfbb

    iOS handle incoming url

    @loki5100 This implementation has not been done by Embarcadero yet, this is why you will need to implement them manually in Delphi source. The step by step is here. This work perfectly for me.
×