Jump to content

p-samuel

Members
  • Content Count

    12
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by p-samuel

  1. Hi, does anyone ever tried to install Android APK in Fusion Hybrid Tablets? https://www.touchdynamic.com/products/mobile-pos-tablets/fusion-tablet-solution/ This is their manual & specs: https://www.touchdynamic.com/wp-content/uploads/2024/09/TD_FusionHybrid_SpecSheet5.pdf I'm not sure if it's something with their processor architecture (Intel® Elkhart Lake Celeron® J6412 up to 2.6 Ghz System), as I'm unable to install any APK built and deployed in Delphi, neither MSBuild, anything.... I just get a message from the OS stating "App not installed as app isn't compatible with your tablet ". I've also tried to change dproj to support other architectures but without results. <PropertyGroup Condition="'$(Base)'=='Android'"> ... <AndroidSupportedAbis>x86;x86_64;armeabi-v7a;arm64-v8a</AndroidSupportedAbis> ... </PropertyGroup> Other thing I did is changing where lib is deployed but likewise, no results. Not a clue what's going on.
  2. p-samuel

    Touch Dynamic Fusion Hybrid Tablets

    Not sure, but the reason might be that Intel Tremont is microarchitecture for Intel Atom, and as far as I know, Embarcadero never added support for it. Only ARM CPU. Libhoudini could save now because it translates arm instructions to the Intel CPU but I'm not sure if Fusion tablets comes with it.
  3. p-samuel

    Touch Dynamic Fusion Hybrid Tablets

    Targeting both 32 or 64 fails to install the app. From AIDA, i get this: From CPU-z: I'm not sure if it's because the device is requiring certificates but that's strange.
  4. p-samuel

    Touch Dynamic Fusion Hybrid Tablets

    Thanks Lars, I'm still puzzled, as apps from App store or APK mirror are getting installed ok. Just the app compiled in Delphi don't. Even if I build them with MSBuild after compiling in Delphi. I'm investigating. Thanks for the links.
  5. Sharing similar pangs. Never has been a time which I could compile targeting Android with Delphi that I wouldn't have issues. C:\Users\Public\Documents\Embarcadero\Studio\21.0\CatalogRepository\AndroidNDK-21-21.0.40680.4203\android-ndk-r21\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: error: c:\program files (x86)\embarcadero\studio\21.0\lib\Android64\Release\System.o: incompatible target
  6. p-samuel

    Parse Json again, complicated

    Do you know about https://jsontodelphi.com/ website? If you are in a hurry then go there generate your classes dto's. Copy and past your json string and they will generate a dto boilerplate for you. The only problem is that this boilerplate uses generics and cannot be implemented in old versions of Delphi. Otherwise, check out Super Object in github project that is aimed for these cases.
  7. I have an url where I can listen to incoming streams whenever a new notification is published. It works perfectly using the cmd curl command but I can't reproduce the same in delphi. I tried using CreateProcess and read the output stream of the process but was worthless. Some has any idea how to make this? curl -s ntfy.sh/something-very-strange/json Each line is a response from the server. When a "GET" request is sent it opens a connection pool and doesn't closes it, sending packages streams to the subscriber, just like a web-socket, until the subscriber ends the process. My goal is to be able to connect and subscribe to this url through delphi, maybe using some component, process or any other tool which allows me to do so.
  8. @Remy Lebeau, debugging is quite simple using chrome's dev tools. As you have said before, it seems a better option using TIdEventStream as the data itself is transmitted by events, like a websocket. It's a plug and play. I didn't know Indy was so easy to setup this. type TNotityProviderIndy = class private FIOHandlerSSL: TIdSSLIOHandlerSocketOpenSSL; FIdHTTP: TIdHTTP; FIdEventStream: TIdEventStream; procedure OnWriteEvent(const ABuffer: TIdBytes; AOffset, ACount: Longint; var VResult: Longint); public constructor Create; end; implementation { TNotityProviderIndy } constructor TNotityProviderIndy.Create; begin FIdHTTP := TIdHTTP.Create(nil); FIOHandlerSSL := TIdSSLIOHandlerSocketOpenSSL.Create; FIdEventStream := TIdEventStream.Create; FIOHandlerSSL.SSLOptions.Method := sslvTLSv1_2; FIdHTTP.IOHandler := FIOHandlerSSL; FIdHTTP.Request.Accept := 'text/event-stream'; FIdHTTP.Request.CacheControl := 'no-store'; FIdHTTP.HTTPOptions := [hoNoReadMultipartMIME, hoNoReadChunked]; FIdEventStream.OnWrite := OnWriteEvent; end; procedure TNotityProviderIndy.OnWriteEvent(const ABuffer: TIdBytes; AOffset, ACount: Longint; var VResult: Longint); begin Writeln(IndyTextEncoding_UTF8.GetString(ABuffer)); end; Thanks for the info!
  9. @Remy Lebeau, I don't know any other way of debugging subsequent requests and displaying verbose information apart from using -v in curl so far. @Vincent Gsell's answer helped me on giving me a north where should I go, but I'll also try taking a deep look on the information that you shared. I really appreciate the help of you all. Delphi is a quite hard language and documentation concerning these components is quite hard to find. Thank you all guys!
  10. @Remy Lebeau Here is a snapshot of the response in verbose. I just omitted some sensitive information.
  11. @Vincent Gsell This worked perfectly! I just needed to make some adjustments but it worked just like a glove! Thanks by heart!
  12. Hello @Fr0sT.Brutalthanks for your interest. This is not a websocket, it's a http url. I am trying to read the stream of responses when I send a GET request, but I'm afraid this is not possible to be done in Delphi by native components such as RestResquest or Indy: In Python would sound like this: resp = requests.get("https://ntfy.sh/something-very-strange/json", stream=True) for line in resp.iter_lines(): if line: print(line)
×