Jump to content

FPiette

Members
  • Content Count

    1200
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by FPiette

  1. FPiette

    ICS v8.64 can't compile on Delphi 7

    Simply remove the inline keyword. This will not affect the function, only the performance.
  2. Maybe there is a caching device between your application and the server. This device always returns the same result. Just a guess.
  3. You need to look at your form. "Action" is the URL you have to use to submit your form. "Method" is the way to submit if: Get or Post which maps directly to HTTP component. Then you have to look at all "input" tags to find the name of the items to send. Then you have to format a buffer with name/values pair and submit it. François Piette
  4. FPiette

    IdThread and THttpCli

    That is correct. But this doesn't prevent ICS from being used from several threads. ICS do not need multithreading to do simultaneous operations on hundreds of sockets. It works nicely on a single thread. You only need multithreading if you need thousands of ACTIVE communications. And you need thread to off-lone the communication thread from processing. For example, if you have a lengthy database request and use a synchronous (blocking component) then you need a worker thread for the blocking database request. If you create a thread for each communication, you'll be quickly have poor performances. The best is to balance number of thread and number of connections. If well designed, you can develop an application using ICS having as much thread as the CPU core and each thread handling hundreds of connections. Whatever component you use, it is sure that handling thousands of simultaneous active connections requires proper design and proper hardware.
  5. FPiette

    IdThread and THttpCli

    This is how Delphi and Windows works. Anything related to Windows messages and many other things need to be created/destroyed within a thread's context not the thread constructor. This is because a thread constructor run on the context of the calling thread, which obviously not the thread under construction. If you had given a look at ICS multihread samples, you'd known...
  6. Calling connect is not enough to send a mail. See the sample program, seen the code behind "all in one" button.
  7. FPiette

    THttpCli - retry request

    Colek, I would create a new component instead of modifying the ICS one. You can either inherit from THttpCli component or inherit from TComponent and embed a THppCli to do what needs to be done. Either way has pros and cons but both are exactly what object oriented programming is all about. Think about moving the logic behind your application into a component instead of putting it into a TForm.
  8. Do you have full source code for the add-ons you use? If yes, it should be fairly easy to port the code to the current Delphi version. I have done that a lot of times with great success. Without source, you have to replace the old add-ons by current version if it exists or by other ones. This may be more difficult. Advice: never use an add-on without full source code. btw: If you want to discuss porting your code, you should post in another forum, maybe this one https://en.delphipraxis.net/forum/4-vcl/ if we are talking about VCL.
  9. FPiette

    Windows DNS Server

    Well, again this one is fixed. Only those omitting to apply ALL updates are at risk. And by the way, this is not related to DNS which is the subject of this conversation.
  10. FPiette

    Windows DNS Server

    I checked a few of those and all I have checked are fixed by Microsoft. The recomandation is simply to get ALL updates from Microsoft as soon as they are published (Just turn on auto update. Tht's what I have always done).
  11. FPiette

    Windows DNS Server

    I never had this need.
  12. FPiette

    SVN server updated

    I would suggest to use TortoiseSVN which is a subversion GUI tool perfectly integrated in Windows Explorer context menu. Much easier to use than SVN command line. In the command line, you should add usercode and password. Type "svn help co" to get help. Usercode and password are both "ics" in lower case with quotes. Try this command line: svn checkout --username ics --password ics svn://svn.overbyte.be/ics/trunk
  13. FPiette

    SVN server updated

    We all should thank Angus for his huge work in ICS world. Angus, I say THANK YOU!
  14. Before stating remote is down, you'd better do a few pings and decide the remote site is down only if all pings are failing or at least a given percentage of the pings failed. Please be aware that it is prossible to completely shutdown ping response in a system. If you control both servers then you can use ping. If you don't, be preapared to use an alternative the day ping are disabled.
  15. Please clarify your question: in my mind,"send" and "download" are not compatible. It is either "receive" and "download" or "send" and "upload". Have a look at various demos delivered with ICS distribution.
  16. You two involved PC are on a LAN? Same segment or is there routers or switches? Ping is not a reliable protocol, one ICMP message can be lost in case of high trafic. If you loose one ICMP message per one thousand, it looks acceptable to me.
  17. When it fails, try using command line ping to see if it fails as well AT THE SAME MOMENT.
  18. It is also possible to use a TTimer for desired timeout and call Albort against the socket waiting for connection.
  19. Using madExcept is of great help regarding accessing invalid memory, buffer overflow, freed memory or object and so on. I recommand using it for such issue.
  20. Internal error are produced when the compiler is confused (Read: bugged). Sometimes it result from earlier error. The best thing to do is quit the IDE, manually delete all DCU (I don't remember if D7 already had the "clean" function. If yes, use it before stopping the IDE). The restart the IDE and compile everything. If this doesn't work, maybe you should use a newer compiler. Now there is the "community Edition" which is "pro" version, free of charge for everyone including business (Up to US$5000,- gross revenue).
  21. On client side, you have the event OnSessionConnected triggered with an error argument being zero. If client can't connect to server, you still have the same OnSessionConnected event triggered but with an error argument not zero, for example 10061 which means the server is not running at the IP/Port/protocol specified. Use state property only for display or log. Use events for everything that "happens" such as connection established or closed or data available and more. Read the comment "About multithreading and event-driven" in OverbyteIcsWSocket.pas (The main source of the sockect component).
  22. FPiette

    Remote Desktop with ICS

    @jbWishmaster did you finally solved your problem? If so, what was the real issue, what have you done to solve it? Having the solution in the message thread is very useful for others...
  23. I wish you all Happy Holidays & Merry Christmas! François Piette
  24. FPiette

    THttpServer port number...

    The component doesn't do that by itself but has a property to select the port to listen to. So just assign it to the value you need before calling start. Please note that the client must know the port to connect so I don't understand why you want a random port! Unless you used the term "random" instead of "custom".
  25. FPiette

    ICS Wish List

    In my opinion, OAuth1 (Twitter), IMAP (mail client and server) and Linux (Including Android) are the most demanded. For Linux/Android, I have already been asked a lot of time. I always answered: when I need it for my own business or if someone want to fund the project. Remember ICS-SSL was born because I wrote it when a group of supporters agreed to pay a little fee to fund the development. That was a success as you know. After the initial period of exclusivity for those having paid, ICS-SSL is now merged with ICS.
×