Angus Robertson 577 Posted August 22, 2023 ICS V9.0 has been released at: https://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11 and C++ Builder 2006 to XE3, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11. ICS supports VCL and FMX, Win32, Win64 and MacOS 32-bit targets. The distribution zip includes the latest OpenSSL 3.1.2 win32, with other versions of OpenSSL being available from the download page. ICS V9 is planned to be a long term support release with no new components or major features added, just bug fixes as needed, major changes will be for V10. V9.0 has been tested with Delphi 7, but I had to make changes to several new components due to missing language features and TWebBrowser does not exist, so V9.0 will be the last tested with D7. Delphi 2007 is easier to support for those building ANSI projects and will become the oldest version supported. An overview of the new samples and components was posted in this group a few days ago, and is included in the download page. The full release notes for V9.0 are at https://wiki.overbyte.eu/wiki/index.php/ICS_V9.0 All ICS active samples are available as prebuilt executables, to allow ease of testing without needing to install ICS and build them all. There are four separate zip files split into clients, servers, tools and miscellaneous samples which can be downloaded from https://wiki.overbyte.eu/wiki/index.php/ICS_Samples The Getting Started page at https://wiki.overbyte.eu/wiki/index.php/ICS_Getting_Started has also been updated with all the new components. Angus 5 3 Share this post Link to post
FaFaFooey 6 Posted August 23, 2023 (edited) Congrats on the v9 release and thanks for supporting current versions of OpenSSL. I'm playing around with the TSslWebSocketCli component and unfortunately the ExtraHeaders property is not passing along anything I add to it when the TSslWebSocketCli connects to the server. I would like to add a User-Agent and Origin header. I'm using Delphi 11.3 with ICS v9 latest snapshot installed with no errors. The demo app OverbyteIcsHttpRestTst.exe also has this behavior. Could you see if it's an ICS issue or not? Thanks for your help! EDIT: Ok it looks like I know why, this bit of code in unit OverbyteIcsWebSocketCli procedure TriggerBeforeHeaderSend shows: // we leave only what can / must be there in the header for i := Headers.Count-1 downto 0 do begin s := Trim(Headers.Strings[i]); if IcsTextOnStart('Get ', s) or IcsTextOnStart('Host:', s) or IcsTextOnStart('Proxy', s) or IcsTextOnStart('Cookie:', s) or IcsTextOnStart('Authorization:', s) then Continue; Headers.Delete( i ); end; I can't add headers in the BeforeHeaderSend event of OverbyteIcsWebSocketCli either. Is there anything I can do besides editing ICS myself? Thanks for the help! Edited August 23, 2023 by FaFaFooey Share this post Link to post
Angus Robertson 577 Posted August 23, 2023 I guess the point is the WebSockets protocol is supposed to be lightweight, and not cluttered with unnecessary headers. Why are you not sending the header information as WebSocket data packets. A configurable option would be needed to bypass that clean-up code. I'll put it on the list, but taking a break from ICS for a couple of weeks. Angus Share this post Link to post
FaFaFooey 6 Posted August 23, 2023 I'm just trying to duplicate what headers Firefox sends to the WSS and that includes useragent, origin and actually a bunch more like pragma and cache-control but I won't add those unless I have issues. I'll just edit ICS and hard code the headers since I only need it for 1 site. Thanks for your reply. Share this post Link to post
Angus Robertson 577 Posted August 23, 2023 Surely those headers are sent with the WebSocket Upgrade request? Why send them again perhaps each second on the same TCP channel, what would the server do with them? Angus Share this post Link to post
PizzaProgram 9 Posted October 3, 2023 Just to confirm: - Is this new version recommended to use with Delphi7 - 32bit? (to replace v8.70 I'm using now) - or is it much more risky than using v8.70 ? - or it is impossible to install on Delphi7 anyway? I know, there is no more "official support" for D7, so I'm just asking for your advice/recommendation please. PS: it would be nice to include inside the readme files + on ICS 9.0 webpage + on the ICS main page of version listing: - what is the minimum Delphi IDE recommended - for which version? ... so the downloader can see at which version ended any of the support. Share this post Link to post
Angus Robertson 577 Posted October 3, 2023 All your questions have been answered previously, more than once, and today again. Angus 1 Share this post Link to post
PizzaProgram 9 Posted October 3, 2023 20 minutes ago, Angus Robertson said: All your questions have been answered previously, more than once, and today again. Angus Yes, I know, thank You! (I just clicked the Post too late in this topic. That's why it appeared later than the other...) Here it is, so we have a link, if someone else is searching for the answer: Share this post Link to post
Angus Robertson 577 Posted November 7, 2023 Further to the announcement of RAD Studio 12.0 Athens today, ICS V9.,0 already has packages to install on Delphi 12, and is available now from GetIt. If installing VCL only manually, the overnight zip has a new D12InstallVcl.groupproj that replaces the old D12Install.groupproj, or use the existing combined D12InstallVclFmx.groupproj and just don't install the FMX packages (which is exactly what the new group does). This change will be made for all compilers for V9.1 and will remove a lot of VCL only packages that are a pain to maintain. Angus Share this post Link to post
J23 0 Posted November 13, 2023 Hello, I cannot install this new version in Delphi 2010, Windows11. I receive the error: "Checking project dependencies... Compiling OverbyteIcsD2010Run.dproj (Debug configuration) [DCC Warning] OverbyteIcsD2010Run.dpk(190): W1033 Unit 'SHDocVw' implicitly imported into package 'OverbyteIcsD2010Run' [Exec Error] The command "cd .. if not exist Lib\Debug\Win32\D2010 mkdir Lib\Debug\Win32\D2010 if not exist Lib\Release\Win32\D2010 mkdir Lib\Release\Win32\D2010 copy Source\OverbyteIcsTnOptFrm.dfm Lib\Debug\Win32\D2010\OverbyteIcsTnOptFrm.dfm copy Source\OverbyteIcsOAuthFormVcl.dfm \Lib\Release\Win32\D2010\OverbyteIcsOAuthFormVcl.dfm copy Source\OverbyteIcsTnOptFrm.dfm Lib\Release\Win32\D2010\OverbyteIcsTnOptFrm.dfm copy Source\OverbyteIcsOAuthFormVcl.dfm Lib\Release\Win64\D2010\OverbyteIcsOAuthFormVcl.dfm" exited with code 1.." I didn't have an older version installed, so I didn't need to uninstall it. I later tried to install version (8.58) and it worked. What could be the reason for the problem with version 9.0? Regards, J23 Share this post Link to post
FPiette 385 Posted November 14, 2023 12 hours ago, J23 said: [Exec Error] The command "cd .. if not exist Lib\Debug\Win32\D2010 mkdir Lib\Debug\Win32\D2010 The error comes from the post build commands (A kind of batch file). Maybe some Windows permission issue ? Share this post Link to post
Angus Robertson 577 Posted November 14, 2023 Those build command in the package copy DFM forms from the source directory to compiled Lib, but you can do it manually if it fails and remove the build lines from the package. Angus Share this post Link to post
J23 0 Posted November 14, 2023 8 hours ago, Angus Robertson said: you can do it manually if it fails and remove the build lines from the package Thank you very much for your answer. Tomorrow I will check on the old computer whether after uninstalling the previous version I can install the new one. J23 Share this post Link to post
J23 0 Posted November 15, 2023 20 hours ago, Angus Robertson said: Those build command in the package copy DFM forms from the source directory to compiled Lib There is no folder: ...\Lib\Debug\Win32\D2010 in version 90, so copying from there is not possible. Is the error a missing folder or a copy command? Share this post Link to post
FPiette 385 Posted November 15, 2023 1 hour ago, J23 said: There is no folder: ...\Lib\Debug\Win32\D2010 in version 90, so copying from there is not possible. Is the error a missing folder or a copy command? There is a mkdir command to create it. Share this post Link to post
J23 0 Posted November 15, 2023 2 minutes ago, FPiette said: There is a mkdir command to create it. This is valuable information, but I don't know what to fill this folder with. It is missing from the icsv90.zip package. 😉 Share this post Link to post
Angus Robertson 577 Posted November 15, 2023 Looking at the D2010 package, there is typo, you need to correct the post-build command to change a win64 to win32, since D2010 does not have Win64 so the directory will not exist, Sorry, these package changes are done manually, and I have to edit hundreds of files by hand. Angus Share this post Link to post
J23 0 Posted November 15, 2023 24 minutes ago, Angus Robertson said: you need to correct the post-build command to change a win64 to win32 But in the package there is a folder ..\Lib\Debug\Win32 and in it D7 and D2006. D2010 is not there. This also applies to the Release folder. Share this post Link to post
Angus Robertson 577 Posted November 15, 2023 The output folders should be created when the DCU are built. If not the batch lines you copied earlier create both folders. It is not necessary to distribute lots of empty folders, except for ancient versions that did not create them. Angus Share this post Link to post
J23 0 Posted November 15, 2023 2 hours ago, Angus Robertson said: change a win64 to win32 I have already changed and installed it successfully. Previous versions installed perfectly - I still admire your perfection. Regards, J23 Share this post Link to post
TurboMagic 92 Posted November 20, 2023 On 11/15/2023 at 11:25 AM, Angus Robertson said: Looking at the D2010 package, there is typo, you need to correct the post-build command to change a win64 to win32, since D2010 does not have Win64 so the directory will not exist, As far as I remember Win64 compiler was introduced with D2009 already. Share this post Link to post
dummzeuch 1517 Posted November 20, 2023 8 minutes ago, TurboMagic said: As far as I remember Win64 compiler was introduced with D2009 already. Your memory is wrong. Win64 was introduced with Delphi XE2. Share this post Link to post
TurboMagic 92 Posted November 20, 2023 Ah! Yes, you're right! D2009 was Generics and Anonymous methods... Share this post Link to post
EugeneK 19 Posted November 22, 2023 On 8/22/2023 at 11:23 AM, Angus Robertson said: ICS V9.0 has been released at: https://wiki.overbyte.eu/wiki/index.php/ICS_Download Site seems to be down right now. Share this post Link to post
FPiette 385 Posted November 23, 2023 10 hours ago, EugeneK said: Site seems to be down right now. It works seen from here. Does it works for you? Share this post Link to post