These are chat archives for IndySockets/Indy

14th
Oct 2016
Walter Prins
@ByteJuggler
Oct 14 2016 10:17
@rlebeau Hi. I got around to trying the latest Indy (nightly) with Delphi Berlin 10.1 Update 1 as you suggested. It seems this fixes the issue I've been having (!), as the same failing test now is passing...(!) This implies however that the version of Indy shipping with Berlin has some SNI handling flaw somehow that has been fixed subsequently in Indy. Does that sound plausible? (As far as I'm aware there's been no further attempts from the network people here to fix this issue, but I will double check.)
Walter Prins
@ByteJuggler
Oct 14 2016 10:47
@rlebeau BTW, I notice Indy seems to put stuff (.dcu's) in places that's arguably not ideal by default (e.g alongside .pas files) which means that "Build"ing projects needlessly pulls in source files when not strictly required and means you can't have separate debug and release precompiled .dcu's as is customary in most other packages. Also the instructions seem slightly out of date and also I noted there were another package or two in Berlin which failed to load after disabling/uninstalling the pre-installed Indy (Embarcadero EMS edge components - no idea what this is). Would you be interested in patches for some or all of the above things? (I made some notes whilst doing this including adding packages for Berlin into the project tree, updating package versions to 240 as required, I could tidy up my notes and changes and submit these if there's interest. It's not rocket science, but it may save others a bit of tedium?)
EricKing1
@EricKing1
Oct 14 2016 11:01
Hello, glad to see Indy is still moving forward. I used delphi extensively years ago and now picking it back up. Unfortunately, I don't have the latest version it's a bit pricey for personal use. So that said, I have delphi 7 and I downloaded the most recent version from the nightly downloads and had to build and install. Had a few issues occur. Does the current version of indy work with delphi 7 and do the demos work correctly. Example: Opened the FTP demo and tried to compile it gave me a FTP.OnWork has an incompatible parameter list prompt. Not sure if I should be attempting to update the Indy?
Walter Prins
@ByteJuggler
Oct 14 2016 11:27
@rlebeau Just as further confirmation, I've now reverted my Berlin install to the original Indy installation and the test is now failing again which implies Berlin 10.1 update 1 as shipped contains some issue in its version of Indy, which is fixed in the Indy nightly as of this writing. I think for the time being I'll try to track down the relevant change and patch just the required unit in the default Berlin install...
Walter Prins
@ByteJuggler
Oct 14 2016 11:47
@EricKing1 Can't really help, D7 very old now, except to note there's a "Fulld7.bat" file present in the latest code which implies support (still) for D7, and that the FTP client demo compiles without issue on my Delphi 10.1 (Berlin) install. I'd therefore guess that there must still be a mismatch between the installed components (parameter lists) and what the Demo app you're opening expects/specifies, assuming there's not some kind of problem in the sourcetree. Make sure you've truly complete hidden/removed/renamed all vestiges of any preinstalled Indy (.bpl's, .dcu's, .dcp's...), then make sure you install the new Indy from scratch. (BTW the Delphi 10.1 Starter edition is currently available free, though it may be too limited for what you're doing...)
EricKing1
@EricKing1
Oct 14 2016 11:53
Thanks for the feedback, I will check the starter addition and try your suggestions.
Walter Prins
@ByteJuggler
Oct 14 2016 13:59
@rlebeau For reference, this is the code in the Berlin that breaks, and the fix in the current Indy head that fixes it: http://i.imgur.com/M9AYESu.png
@rlebeau Thanks again for your suggestions & advice. Appreciate it.
Kudzu
@czhower
Oct 14 2016 14:56
Looks like it was a bug fix then.
Walter Prins
@ByteJuggler
Oct 14 2016 15:09
@czhower Yeah. The slightly perplexing thing is that this all used to work (though perhaps by accident) in Seattle, and was failing in the latest and greatest (Berlin 10.1, Update 1). It didn't help that there are multiple moving parts here and each could've been at fault, potentially [client code, Indy code, proxy server, proxy setup, remote HTTPS site setup]. All's green now so I'm happy. :) (Digression: Today also ported forward our set of internal patches to Delphi Berlin. The oldest of these is from 2007, complete with QC and patch. Frustratingly none of these got fixed between Seattle and Berlin. That said, and to be fair, lest I sound too negative, the quality in recent releases has been substantially better and a number of our internal patches has become redundant in recent prior versions. I've also not reported all the issues we've patched yet, which obviously makes it less likely that they might be fixed. -- Some are kind of hard to put together a SSCCE for.)
Remy Lebeau
@rlebeau
Oct 14 2016 16:49
@ByteJuggler yes, I know Indy's installation procedures aren't the best they coud be. I haven't had a chance to even create packages for Berlin yet. And I am in the process of reorganzing Indy's entire tree structure to better streamline everything. Eventually, I want to get Indy into Embarcadero's GetIt package manager, but I don't feel the current structure is well suited for that yet. BTW, can you look in Indy's IdVers.inc file in the Berlin Update 1 shipped version and confirm the version number so I can tag it in SVN? Is that rev 6469?
EricKing1
@EricKing1
Oct 14 2016 16:54
Problem solved regarding D7. Thanks to ByteJuggler I must have missed removing some old indy files. Once this was done I recompiled indy and reinstalled. All is working fine. Thanks again everyone.....
Remy Lebeau
@rlebeau
Oct 14 2016 16:54
@EricKing1 in theory, Indy supports all the way back to Delphi 5 (of course, such old versions are not regularly tested). Your OnWork error might have been related to this change in 2006, so make sure your event handler is declared correctly.
Walter Prins
@ByteJuggler
Oct 14 2016 17:07
@EricKing1 Fantastic. :)
Kudzu
@czhower
Oct 14 2016 17:19
I wouldnt count on Indy past D7. Pre D7 there were some comiler features not available and its been years since I made changes to Indy, but at that time we did some things that did not jive with D6 compiler and decided ti was D7 forward at the time.
Remy Lebeau
@rlebeau
Oct 14 2016 17:24
There are a lot of D5 and D6 users who use Indy, so I try to make sure Indy remains compatible with them. Recently, I encounted a nasty D5 bug that does not setup the call stack correctly when calling an overloaded class method that has an open array parameter, and that affects several of Indy's commonly used methods, like SendCmd(). The only workaround I have found so far is really ugly too, which is why I haven't checked it in yet. I'd hate to drop support for D5, though.
Kudzu
@czhower
Oct 14 2016 17:27
Well if it works.. no need to drop it.
Remy Lebeau
@rlebeau
Oct 14 2016 17:27
For the most part, Indy works fine in the old versions