Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


FPiette last won the day on January 1

FPiette had the most liked content!

Community Reputation

247 Excellent

1 Follower

Recent Profile Visitors

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

  1. No, it is a forward declaration. The class itself is declared after TDrawingObject. That declaration is enough for the compiler to know it has to reserve space for the class field (Actually a pointer). The code accessing the property DrawingObjectList is in the implementation section and after both classes have been completely defined.
  2. As long as you avoid or detect recursive infinite loops, then it is OK.
  3. FPiette

    ICS Delphi DataSnapBridge

    Maybe this will help:
  4. FPiette

    Waiting for something without blocking the UI

    You could use a non-blocking asynchronous TCP component such as ICS (TWSocket and other for high level protocols). With ICS, methods like Connect, Send, Receive and other are not blocking, they are merely a request which are almost instantaneous. Later when connection is established, data received or sent, you have an event. The UI is never blocked, even with hundreds of active connections. No need to use thread of wait loop (Of course you may use both if you like complexity). You can install ICS from the IDE using GetIT, or download a zip file, or use the SVN repository. Have a look at http://wiki.overbyte.eu/wiki/index.php/ICS_Download. Dephi-Praxis has an ICS dedicated support forum : https://en.delphipraxis.net/forum/37-ics-internet-component-suite/
  5. FPiette

    Class with own Thread

    You don't need to put the whole class in a thread. Just put the blocking call in the thread. Or use a non-blocking component to do the REST communication, such as ICS.
  6. I'm using 3-5 hardware components Maybe you mean that you use 3 to 5 devices in the computer to generate the fingerprint. If this is the case, then don't forget that the use may upgrade their hardware because of failure or just better performances. You may detect an unknown computer just because they replaced their Ethernet card (If you use the MAC address), hard disk serial or even Windows own MachineGUID. The computer may also be a virtual one running under VMWare, Hyper-V or another hypervisor. That the hardware is virtualized. Lot's of traps...
  7. This could help: https://social.msdn.microsoft.com/Forums/windowsdesktop/es-ES/fbe70102-526c-4beb-9929-6da9131797a8/device-identification-values?forum=netfxbcl
  8. I'm aware that the documentation specifies that nodes with attachments must be document/pdf in binary format. Would you reproduce that part of the documentation here? I ask because what you tell is largely incomplete and confusing. If you show us a complete XML document with a PDF file attached, that could help. Someone could be able to recognize the encoding format. Maybe me.
  9. I'm probably stupid, but you still don't clearly tell if you write the server side. If you write the server side and the client side, you can define things like you prefer. For example encoding the PDF file as a base64 stream which is just text and put it in the XML document. If you don't write the server side, then contact the author of the server to get the requirements he selected.
  10. You have not answered the question I asked: Are you writing both ends of the document exchange system? Look at: https://www.rfc-editor.org/rfc/rfc3778.txt
  11. Are you writing both ends of the document exchange system? If you must access an existing system, then you must get the specification of the attachment.
  12. This file is normally in Midware base directory. Attached to this message. OverbyteSObjThrd.pas
  13. Please avoid asking any question not directly related to ICS in this ICS dedicated forum. Indy has his own support channels.
  14. Thanks, I'll have a look at it.