Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

10 Good

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi, OK, you can not setup router. Then you must have a server on the Internet that your LAN APP and your Android APP can get connected. This is not about callbacks or other tech. This is about how tow to establish communication between two device. Under normal conditions, to establish connection between two device, there must be a server, both device connect to this server, this server is working as a bridge.
  2. Your issue is: A server working in a LAN server which has a private IP address, and your client want to access from Internet. If your LAN has a Internet router, and if you can setup the port mapping of this router, then your client can access your server from Internet. This is a simple diagram of port mapping: Internet -- xx.xx.xx.xx(Your router's public IP address) --- (port 8888: -- this is the port mapping setup in your router) --- Your Server on If your router's public IP address is dynamic, you will using some dynamic DNS services to let a fixed DNS name point to your dynamic IP address.
  3. pcplayer99

    QUIC and HTTP/3

    Hi, Google will support HTTP/3 on QUIC in Chrome brwoser. Is there any Delphi library that support QUIC? Thanks.
  4. SOAP is for WebService,it is stable since Delphi 7. WebService framework is buit-in delphi since Delphi 7.
  5. pcplayer99

    What is the best way LoadFromFile & Thread? (FMX)

    You said that [there is any usage limit], what is your mean? LoadFromFile need some time because your file is very large, even if you put it into a thread, it still need the same duration. Maybe you need put it into a thread, and run this thread at a right time such as before you want show these pictures. Such as, your game is nearly to the end of scense, but there are some seconds needed, then you start load file thread, and your user is still playing game, and when the game go end, your load file operation is complete. If you must free the resource of previous scense and then you have enough memory space to load the files the second scense need, then you need to show a transitions to user and then load file in a thread.
  6. I have some experience that using Indy TCP client to remote control some device through WiFi. My experience is that when the distance between mobile and device is out of range, you can test the connection by send some data and wait it timeout and in except section to close connection, like this: try IdTCPClient1.Send(....); except IdTCPClient1.Disconnect; end; and then try re-connect again, and again, and when mobile is into the range of device WiFi, you can connect again.
  7. pcplayer99

    FTP add virtual directory

    I have used Indy FTP server. You can start from Indy's demo code. How about ICS? I have never used ICS. On IIS server, you must close its own FTP server because it using port 21, and your own FTP server such as Indy TFP server will use it. Or, your own FTP server can setup to using other port, and you will tell your user to ftp another port such as: FTP://your-server-IP:2121
  8. Using Scanlines is for every pixels. You donn't need check every pixels here.
  9. Hi, I do not know MVVM, MVC etc. My experience is you should using interface in your code. And you should not using implement them with abstract classes. Abstract classes is not for interface. If you have another reason to using abstract classes you just use it but not for interface. For example, the framework of Delphi WebService is based on interface, and Delphi DataSnap framework is based on class. I like WebService framework but DataSnap framework.
  10. if the image file format is 32bit color bitmap, but the content is a black white picture, I think you can check it very quicklly by check pixels. You donn't need to check every pixels of the picture, you just need check severial pixels samples in the picture.
  11. I saw you said that is VCL APP, it is means run in Windows? If so, maybe you can use DirectShow framework. Another way is useing socket. To using share memory, you must handle the FPS yourself.
  12. pcplayer99

    BLE cannot get service

    After BluetoothLE1.OnEnddiscoverService triggered, Can always getService success.
  13. pcplayer99

    BLE cannot get service

    Thanks Rollo62. I have tested, if I wait a minute and then do GetService, it's works fine.
  14. pcplayer99

    BLE cannot get service

    thanks. I will test add some minutes waitting in every step.
  15. pcplayer99

    BLE cannot get service

    Thank you Lars. My Program is: 1. Scan device. then list devices. 2. Let user select a device, and user click a "Select" button. 3. in the button onclick event handler, find the device, and set user selected device to FMyDevice, and then call BluetoothLE1.DiscoverServices(Self.FMyDevice); 4. Do someting that need service, call GetService(FMyDevice), and then maybe ok, maybe got nil.