Yes Indy News is still alive! We are going to target one newsletter per month now instead of twice per month.
Indy 9 is Coming
Indy 9 is on schedule to be released before BorCon in late May. A few of the features we would like to have put into Indy 9 we have postponed to Indy 10, however Indy 9 has major improvements and additions over Indy 8. Indy 8 had 69 components, Indy 9 has around 120. Several performance improvements and many bug fixes have also been made. In a future issue of Indy News we will cover the new features of Indy 9 in more detail.
Indy 9's feature set is now in freeze and we are focusing on bugs only. The open bug count has been reduced from around 300 to almost 100 and we are working on eliminating the remaining 100 or so. If you have any issues with Indy 9 be sure to report them using the Indy Bug Report form. Please however make sure you are using the development snapshot. Do not report bugs from the beta releases, but only from the development snapshot please!
Recent New Components
TIdThreadComponent
TIdThreadComponent is a visual encapselation of a thread. Drop one on a form or a datamodule, create events and go! Threads have never been this easy to create.
TIdIOHandlerThrottle
TIdIOHandlerThrottle allows you to limit the amount of bandwidth that an Indy connection uses. It is implemented as an IOHandler and can be used with any client. TIdIOHandlerThrottle is useful for slowing down connections to allow other higher priority connections more bandwidth, debugging, or simulating dial up connections. It can also be used when testing with Apache server to make it perform like Microsoft IIS. :)
Want to know where you can learn more about Indy? Well there is a Indy book in the works, but its being written by programmers so its original estimated release date is too early. :) But there are many Indy Training opportunities for you to attend coming soon.
Course #2014 - Indy, Inside and Out: Meeting Custom TCP/IP Communications Needs Preconference Tutorial Sunday, May 19, 2002, 1:00pm - 5:00pm, Room 206 Speaker: Chad Z. Hower (Kudzu)
Indy is an open source set of TCP/IP socket components and comprises nearly 100 components. Indy is included as a part of Delphi 6 and Kylix. This session covers both Indy clients and servers and focuses on using Indy to meet custom TCP/IP communication needs. This session is interactive and will include a lot of in-depth code.
Course #3192 - Programming Advanced Clients with Indy Tuesday, May 21, 2002, 9:30am - 10:45am, Room 205 Speaker: Chad Z. Hower (Kudzu)
Indy is an open-source set of TCP/IP components and is included as part of Delphi and Kylix. This session covers advanced topics of Indy clients and their use.
Course #3194 - Programming Advanced Internet Servers with Indy Tuesday, May 21, 2002, 1:30pm - 2:45pm, Room 205 Speaker: Chad Z. Hower (Kudzu)
Indy is an open-source set of TCP/IP components and is included as part of Delphi and Kylix. This session covers advanced topics of Indy servers and their use.
It's called "Delphi Day 2002" and is a free one-day conference for Delphi programmers, on June 7th 2002 in Piacenza, Italy. A full day of Indy training will be offered prior to Delphi Day on Wednesday, June 5th by Chad Z. Hower (Kudzu).
Hadi Hariri will be presenting a session on Indy at DCon in June. Advanced Indy Development covers the following:
Advanced Communication
Implementing Servers using Command Handlers
IOHandlers and Intercepts
Coders
Multi-threaded Servers
Working with Blocking Sockets: Client-Side User Interface
Threaded Clients
Notable Bug Fixes
Tons and tons of stuff in TCP server, IRC, and coders.
All Linux DNS and stack calls now use the reentrant forms.
C++ Builder Issues
In Indy 9.0, I get an error such as "Unsatisfied forward or external declaration" in IdCompressionIntercept.pas. How do I fix this?
When compiling Indy with Delphi 4, 5, 6, plus C++Builder 4, 5, and 6, you may see errors such as this:
IdCompressionIntercept.pas(331) Error: Incompatible types IdCompressionIntercept.pas(152) Error: Unsatisfied forward or external declaration: '_tr_init' IdCompressionIntercept.pas(153) Error: Unsatisfied forward or external declaration: '_tr_tally'
This is due to a bug in the Delphi compiler (DCC32.EXE) and not in the IdCompressionIntercept unit itself. The bug is triggered when you build the Indy binaries with a parameter such as /B or sometimes compile the packages in the IDE. To work around this bug, you should compile IdCompressionIntercept separately from the other units and build with the /M parameter. Do not build Indy with the /B parameter. To build Indy, we recommend that you use the FULL*.BAT files because batch files have the workaround for the bug we mentioned.