MikeMon
Members-
Content Count
130 -
Joined
-
Last visited
-
Days Won
1
Everything posted by MikeMon
-
Hi Alexander Thank you for your input. That's weird because this just started happening lately with the latest app we are developing.
-
Anyone has any ideas?
-
On all devices. Most of the times.
-
Hi I'm using Delphi 10.3.3. I have a problem with TLabels on Android. There are horizontal or vertical lines on some letters in the TLabel. As you can see on the attached image, the "d", "y" and "A" of the label "Cloudy Apple Juice" have lines on them. So do the "h", "O", "u", "c" and "e" of the label "Fresh Orange Juice". I'm using Java JDK version 1.8.0_261. I don't know if this has anything to do with it, but lately I had to uninstall the JDK (of which I don't remember what the version was) and reinstall it (version 1.80._261). Has anyone encountered this before?
-
Hi Does anyone know if ZXing Delphi is compatible with Delphi 10.4? or is there a version for Delphi 10.4?
-
After some testing, I found out the following: The advancedTestApp is crashing on Android and not compiling on iOS using Delphi 10.4. The reason is that the FMX.Media.Android.pas and FMX.Media.AVFoundation.pas (and maybe the FastUtils.pas) provided by ZXing Delphi are not compatible with Delphi 10.4. AdvancedTestApp works just fine with the original files coming with Delphi 10.4. But unfortunately, by using the originals, the app is VERY slow both on iOS and Android. Any third party camera controls recommended for Firemonkey (Android and iOS) except winsoft?
-
Camera is true and the AccessCameraPermissionRequestResult IS in the main thread. The error on 10.3.3 is on Android ONLY.
-
1.) Thank you for your valuable help. I will check the iOS code above. Just FYI, the Android version is not working, either. When running the advancedTestApp, though it IS asking for permission and I'm choosing yes, the minute I'm using the "Scan off/on" button, the app is freezing. 2.) In addition to the above, I'm getting the following error on some Android devices and using Delphi 10.3.3, Assertion failure (FastUtils.pas, line 172), which is Assert((ASrcHeight and 3) = 0); Any ideas?
-
Hi. I'm using the code provided in the uMain.pas unit of the advancedTestApp project. This is some of the code for the camera permission: // Optional rationale display routine to display permission requirement rationale to the user procedure TFormMain.DisplayRationale(Sender: TObject; const APermissions: TArray<string>; const APostRationaleProc: TProc); begin // Show an explanation to the user *asynchronously* - don't block this thread waiting for the user's response! // After the user sees the explanation, invoke the post-rationale routine to request the permissions TDialogService.Showmessage('The app needs to access the camera in order to work', procedure(const AResult: TModalResult) begin APostRationaleProc end) end; procedure TFormMain.AccessCameraPermissionRequestResult(Sender: TObject; const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>); begin // 1 permission involved: CAMERA if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then { Fill the resolutions. } begin CreateCamera(); end else Showmessage('Cannot access the camera because the required permission has not been granted') end; procedure TFormMain.FormActivate(Sender: TObject); begin {$IFDEF ANDROID} FPermissionCamera := JStringToString(TJManifest_permission.JavaClass.CAMERA); {$ENDIF} PermissionsService.RequestPermissions([FPermissionCamera], AccessCameraPermissionRequestResult, DisplayRationale); end; procedure TFormMain.StartCapture; begin FBuffer.Clear(TAlphaColors.White); FActive := True; LabelFPS.Text := 'Starting capture...'; PermissionsService.RequestPermissions([FPermissionCamera], ActivateCameraPermissionRequestResult, DisplayRationale); StartStopWatch(); lblScanning.Text := 'Scanning on'; FaLblScanning.Enabled := True; end; procedure TFormMain.ActivateCameraPermissionRequestResult(Sender: TObject; const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>); begin // 1 permission involved: CAMERA if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then begin { Turn on the Camera } CreateCamera(); FCamera.Active := True; end else Showmessage('Cannot start the camera because the required permission has not been granted') end; procedure TFormMain.CreateCamera(); begin if (FCamera <> nil) then exit; FCamera := TCameraComponent.Create(self); FCamera.Quality := TVideoCaptureQuality.MediumQuality; FCamera.FocusMode := TFocusMode.AutoFocus; FCamera.OnSampleBufferReady := CameraComponent1SampleBufferReady; end;
-
It's not even asking the first time. Unfortunately.
-
Hi. Thank you for your answer. The code working on Delphi 10.3.3 is crashing on Delphi 10.4. Btw, if the user hasn't given permission to access the camera yet, he/she will be asked to give one. That works quite fine on Delphi 10.3.3.
-
Unfortunately, the ZXing is not working on Delphi 10.4. On iOS, the camera isn't working. On Android, the app is crashing with a floating point error.
-
Hi @vfbb. Option 4 yes. Option 3 isn't working. The default Delphi launch screen images are added no matter what.
-
Hi Guyz I'm having an issue making the storyboard work with an existing app (I haven't tried with new apps yet). I've followed these steps but I keep on getting a blank screen: 1.) I deleted the info.plist.TemplateiOS.xml from my project directory. 2.) Added the launch images in the project options 3.) I edited the LaunchScreen.storyboard and Assets files in LaunchScreen.TemplateiOS (actually only the Contents.json file in the Assets\LaunchScreenImage.imageset folder) as needed by replacing the default FM launch icons with mine. 4.) Made sure that my launch screen images to be deployed are in the "Project | Deployment". 5.) Deleted the app on the device (as @vfbb suggested above) 6.) Powered down the device (as @vfbb suggested above) 7.) Powered up the device (as @vfbb suggested above) 8.) Installed the app (as @vfbb suggested above) Any ideas
-
Hi @vfbb Thank you for your information. Will look into it.
-
FCM App Server is returning with a "401: INVALID_KEY" Response
MikeMon posted a topic in Cross-platform
Hi I've setup firebase cloud messaging and everything is working fine both on iOS and Android, i.e. I can send push notifications through the Firebase Cloud Messaging console. What I want to do is to develop my own console with which I want to send my firebase push notifications. I came across the following in the FCM app server protocols: https://fcm.googleapis.com/fcm/send To test it, I'm using the "Embarcadero REST Debugger" software. As per the FCM documentation, I've add a header called "Authorization" with a value of "key=XYZ". XYZ is the "Server Key" value in the Firebase Console's "Cloud Messaging" setting of my App. Unfortunately I keep on getting a "401: INVALID_KEY" response. Is there anything else I need to do to make it work? -
FCM App Server is returning with a "401: INVALID_KEY" Response
MikeMon replied to MikeMon's topic in Cross-platform
Hi @Dave Nottage After some playing around, I found out what the problem was. The "Authorization" header should not be encoded. Now, everything works fine by using REST. FYI, the pre-complied RESTDebugger.exe that comes with Delphi 10.3.3 doesn't have the "Do Not Encode" checkbox when adding parameters. I had to recompile its project and it was there. -
FCM App Server is returning with a "401: INVALID_KEY" Response
MikeMon replied to MikeMon's topic in Cross-platform
Hi Dave. Thank you for your valuable input. I compiled and ran your desktop app and it's working perfectly. I will check your code and see what I'm missing. -
In the latest iOS App requirements and guidelines, one of the requirements says: "Apps for iPhone or iPad must ..... and use an Xcode storyboard to provide the app’s launch screen." Does this mean that a launch image is not enough and we need to create a splash screen inside the app? or this is already handled by Delphi?
-
Use an Xcode Storyboard to Provide the App’s Launch Screen
MikeMon replied to MikeMon's topic in Cross-platform
Any direction on "Sign in with Apple" requirement? Deadline is June 30th, too. -
How can I programmatically change properties of a custom style? Basically, I have created a custom style for TLabel and have added a rectangle to be able to control its background. How can I programmatically change its color so that all TLabels that have that style are automatically updated with the new color?
-
Hi @Rollo62 As I said earlier, I do use TRectangle instead of TPanel. But my example above was just for illustration to show that first-level stylename's properties of a style can not be modified whereas its children's can. E.g. with a TSwitchObject, there is nothing I can do. The TSwitchObject stylename is at the first-level and I can't access any of its properties programmatically. I tried adding a TLayout in the style at the first-level and have the TSwitchObject as its child, but it is not working properly. E.g., the isChecked:= True is not changing the TSwitch's state.
-
Let me find a solution for 1 platform and I'll do the rest!! lol
-
Yes, I can change the color of TPanel during design time, but not at runtime. To be honest I use TRectangle, too. The TPanel in my question was just for reference because it is simple to demonstrate. Generally, I can't access and change the properties of the first-level style. Another example which I still haven't found a workaround for is TSwitch. I use a TSwitchObject for a TSwitch style. Again, because it is the first-level style, I can't access and change its properties, e.g. "ThumbOn.Color".
-
Hi Serge Thank you for your answer. The custom-styled TPanel has no children. This is what I'm doing: 1.) Drop a TPanel on the form. Call it Panel1 2.) Right-click on the TPanel and choose "Edit Custom Style..." 3.) Close the designer 4.) Make sure the "StyleLookup" field of Panel1 is "Panel1Style1" What I need to do is to programmatically change the "Fill.Color" of "Panel1Style1". I can't seem to find a way how. However, if I drop a TLabel and do the same, "Label1Style1" will be created. Label1Style1 has a child stylename "Text". I could easily access and change its properties by my method above, i.e. Label1.StylesData['text.Scale.X']:= 2, or Label1.StylesData['text.Text']:= 'OK'