Jump to content

Recommended Posts

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

 

  • Like 5
  • Thanks 3

Share this post


Link to post

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 by FaFaFooey

Share this post


Link to post

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

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

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

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
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

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

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
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

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
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
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
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
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

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
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

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
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
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
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
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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×