Search code examples
vclrad-studioc++builder-10.3-rio

ScktComp.hpp is missing in RAD Studio 10.3


I am currently migrating an old project from Borland C++Builder 5 to Embarcadero RAD Studio 10.3 Rio.

Since the old project is not easily portable, I needed to recreate all the units and forms in a new RAD Studio project.

This has been going fine until I encountered a file which uses the ScktComp.hpp file.

Can someone point me in the right direction as to where I might find and how I can include this file in my project ?


Solution

  • The TClientSocket and TServerSocket components have been deprecated for a LONG time, and are no longer installed by default. If you want to use them, you must install them manually. But, you really should rewrite the old code to use an up-to-date socket library, such as Indy (which is pre-installed in the IDE), or to just use Microsoft's WinSock API directly (which is what the old components use internally).

    That being said, if you must use the old socket components, then know that the ScktComp.hpp header file was renamed to System.Win.ScktComp.hpp in C++Builder XE2 (read up about Unit Scope Names). A legacy ScktComp.hpp header file was provided for backwards compatibility (#include'ing the new header file internally) but it was eliminated in C++Builder 10.1 Berlin (XE8 and 10.0 Seattle warned users that legacy headers were being deprecated for future removal).

    So, from 10.1 onward, you must use the new System.Win.ScktComp.hpp file directly, the legacy ScktComp.hpp file no longer exists.