Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral
  1. Fabian1648

    [Android]How to make an event listener?

    Hello, Is there a solution with FMX to have an events listener that detects all the events that are triggered in an app? Thanks for all
  2. I am developing an app that connects to a server with an invalid certificate (because the server only has an IP address and no URL). With Delphi Rio, my app makes REST requests using the token provided by the server. If I compile the same app with Delphi Sydney, the REST requests end with an "invalid or missing server certificate" error. Has a change been made in Sydney to deny the REST connection in case of an invalid certificate?
  3. Hi, In an Delphi Rio FMX app, how can we get the name of the control if we click on it? In a VCL, we can use: ctrl := FindVCLWindow(Mouse.CursorPos) ; ShowMessage(ctrl.Name); Is there a similar approach for FMX?
  4. Hello, I want to display a "loading in progress" screen while a REST request is retrieving data from a server (execution time: 1.5 seconds with Windows, 6 seconds with Android): On click of a button on the initial form, the app display the "loading in progress" screen and start the REST request. At the end of the REST request, return to the initial form. 1) With windows, if I use the following code: The "loading in progress screen" is displayed after the end of the REST request. 2) With windows, if I use the following code: The "loading in progress screen" is displayed and the REST request start. But on Android, it doesn't work: The REST request runs but the screen "loading in progress screen" is never displayed. How can I proceed to have the right behavior? Thank for your help
  5. Fabian1648

    [Rio][FMX]How to compile for iOS without an Apple device?

    MacIncloud writes on their website that MacIncloud has a partnership with Embarcadero. But in their "Featured Tools and Applications", they write... "RAD PASERVER XE8, XE7, XE6" It looks rather old... Is compatibility with RAD PaServer still available today?
  6. Hi, I am asked to compile for iOS an app that was previously developed for Android. Not being a customer of Apple products and having to meet only a one-shot need, the purchase of an Apple product is not on the agenda. I have heard that there are websites that offer the possibility to remotely compile for Apple devices or that it was possible to go through a virtual OS (installation of a Mac OS via VirtualBox or VMware on a windows PC). Does anyone have any experience on the subject? What is the best solution based on your experience? Thank you for your opinion
  7. Hi, I discovered on my test smartphone (samsung) that I can change the display mode of the virtual keyboard: Put it in a "floating keyboard" mode. This solves the problem since you can move the keyboard so that it no longer covers the input field. 3 questions arise: 1. Does this possibility exist on all Android smartphones and/or on all versions of the Android OS? 2. Question 1 for iOS smartphones 3. Is it possible to force this "floating keypad" mode via programming? Thank you for your feedback
  8. Hi, After pressing the right key on an Android device with 3 keys, most apps behave as follows: By pressing the left button and selecting the app, the app reappears on the screen and works normally. In the case of my app developed with Delphi Rio, the app doesn't keep working, it restarts! Is this a default behavior of the apps developed with Delphi? Can I change this behavior via code or via the configuration of the Delphi project? Thank you for your help
  9. Hi, I have several TEdit in an Android App developed with Delphi Rio. With a virtual keyboard that covers almost 50% of the display area, several TEdit are hidden under the virtual keyboard when you want to enter data. Does anyone know of an approach to avoid this behaviour? Thank you in advance
  10. Hi, Imagine an Android app developed with Delphi Rio that is connected to an external BlueTooth device (tests performed with barcode reader and keyboard). When a Carriage Return (CR) is sent, the app triggers a "FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);" event. So the CR is detected! If I use an Android text editor, the CR is taken into account. But it's impossible to identify the CR character in the Delphi "FormKeyDown" event: an "Ord(KeyChar)" which should give a #13 (and which gives #13 if you compile for windows) gives 0, a "LEncoding.GetBytes(KeyChar)" also gives 0; Same for the keyboard keys Backspace, Enter, Ctrl, Alt, Shift, Caps, F1...F12, Insert, Home, PgUp, Delete, End, PgDn, ..... which all give '0'! A question arises... How to identify the arrival of a CR or other non-alphanumeric character?
  11. Fabian1648

    [Android] How to capture characters with a bluetooth device

    Yes! A wireless barcode reader connected to a smartphone via bluetooth! I think that the last characters received could be ASCII=0 followed by a zero. ASCII=0 corresponds to NUL. The string sent with a CR LF could be treated as a string with terminal zero
  12. Hello! I'm facing a problem that may be more of an Android problem than a "Delphian" one. My goal: Capture the barcode read by a bluetooth handheld device in an Android app developed in Delphi FMX (Delphi Rio 10.3.3). Principle of operation: The handheld device transmits the barcode as a sequence of characters entered on the keyboard. The Windows/Android compatible handheld device is configured to provide the code as: 1 character to indicate the beginning of the barcode ("!"), one character to indicate the type of barcode ("c" to indicate that it is an EAN8 barcode), the characters encoded in the barcode (8 characters for an EAN8) and the CR LF characters to indicate the end of the barcode. The app retrieves each character received on an OnKeyDown event and forms the barcode by harvesting the characters one by one (reason for the character that indicates the beginning of the barcode and an end character of the barcode). Problem encountered: Under Windows and Android, we do not get the same result. If we read a barcode of type EAN8 (=8 digits): Under Windows, we get: !C20010003 CR LF (this corresponds to the configuration of the showerhead) Under Android, nothing works anymore: 1. CR and LF are not detected (I seem to remember that Unix does not process CR and other LF) 2. If we visualize the characters captured in a Tmemo by displaying the value of the string that has captured one by one the characters received, we have !C20010003 (without CR and LF) 3. I control the number of characters received by checking length(string)=21 (21 and not 10 which would be the length of a string "!C20010003"!!) 4. So I check the ASCII code of the characters received at the onKeyDown event: 33 99 0 50 0 48 0 48 0 49 0 48 0 48 0 48 0 51 0 0 0 Which corresponds to: ! C 2 0 0 1 0 0 0 3 0 We have the correct ASCII code followed by a 0 after each character and a final 0 instead of CR LF. Conclusion: Under Android, the event receives 21 characters, the string shows 10 characters but indicates a length of 21 characters and adds at the end a "0" which corresponds to "I don't know what". Under windows, the event receives 12 characters (the 10 visible characters + CR + LF), the length of the string=12 and the string shows the 10 visible characters. Does anyone have any experience in handling strings in Android, an explanation of how it works under Android and a solution to detect CR and LF sent under Android? Thanks for your help
  13. Fabian1648


    Intraweb is no longer included by default in Delphi 10.4 Sidney. You can dowload Intraweb (an old version) on the website of the editor et install it on your Delphi 10.4
  14. Fabian1648

    [REST/JSON] Trabstypage error

    I'm giving the benefit of the solution I found to solve my Transtyping error problem. I confirm that the problem comes from the format of the JSON response sent by the server. The JSON returned does not have a "{"result":[...]}" format but "{[...]}". Solution: 1. I retrieve the JSON sent by the server by a "str:=RESTResponse1.JSONText;". 2. I adapt the string: "{[...]}" becomes "{"result":[...]}". 3. I transform the modified string into a TJSONValue by a "JSONValue := TJSonObject.ParseJSONValue(str);". (Eureka! there is no more "Transtyping error") 4. I retrieve the values in JSONValue by code like "str1 := JsonValue.GetValue<string>('results[0].header');". Thanks to the various contributors who offered me their help.
  15. Fabian1648

    [REST/JSON] Trabstypage error

    The problem seems to be due to the fact that the JSON format sent by the server is not compatible with "JSON made in Delphi"! I found an example that works with code and "JSON that fits" and the JSON has "\" in it that I haven't seen in any example JSON file. The same code processing a JSON from different test servers via REST gives an " Transtyping Error" on the line "LJSONResponse:= TJSONObject.ParseJSONValue(response) as TJSONObject;". The same code with the "JSON that fits" without the "\" (=response_bis) and we end up with an "Access Violation error" ... Delphi can parse a JSON file or only a JSON file using a specific Delphi format???