WinInet wrapper for FTP in Delphi?

You didn't specify your version of Delphi and target platform (x64 and MacOSX is available in the latest version of Delphi), so here is some generic advice: WinInet: No FTPS Support at all, so this rules this out for you Indy : Packaged with Delphi (free), fully supported in the latest version of Delphi, mature, widely used, uses synchronous model (you need to use threads so network access does not lock the GUI) ICS Components : Free, mature, apparently no Delphi XE2 support as of now, so no explicit x64 support. Widely used. Uses asynchronious model (no need for threads, uses callbacks on the GUI thread) Synapse : Lesser known library (free), more compact and easy to understand than the above two.

Also has FTPS support, not updated recently but works ok with Delphi 2007-2009. Synchronous model I worked with all four above, and it is hard to recommend one over another. All of them can accomplish what you need (except WinInet), it just comes down to what model (synchronous/asynchronous) you feel more comfortable with or already use in your application, and what level of platform/compiler support you require.

If you don't see any reason to choose #3 or #4, I'd say go with Indy since it is bundled with Delphi, has x64/MacOSX support, and will probably work in the next version of Delphi too.

You didn't specify your version of Delphi and target platform (x64 and MacOSX is available in the latest version of Delphi), so here is some generic advice: WinInet: No FTPS Support at all, so this rules this out for you. Indy: Packaged with Delphi (free), fully supported in the latest version of Delphi, mature, widely used, uses synchronous model (you need to use threads so network access does not lock the GUI). ICS Components: Free, mature, apparently no Delphi XE2 support as of now, so no explicit x64 support.

Widely used. Uses asynchronious model (no need for threads, uses callbacks on the GUI thread). Synapse: Lesser known library (free), more compact and easy to understand than the above two.

Also has FTPS support, not updated recently but works ok with Delphi 2007-2009. Synchronous model. I worked with all four above, and it is hard to recommend one over another.

All of them can accomplish what you need (except WinInet), it just comes down to what model (synchronous/asynchronous) you feel more comfortable with or already use in your application, and what level of platform/compiler support you require. If you don't see any reason to choose #3 or #4, I'd say go with Indy since it is bundled with Delphi, has x64/MacOSX support, and will probably work in the next version of Delphi too.

1 For one application we've also discovered and evaluated above options, but decided to use putty. Org 's psftp. Exe and call it via CreateProcess, which is an entire different way of handling this but provided the degree of stability and configurability we were looking for.

– Stijn Sanders Oct 10 at 14:01.

I can't remember the exact reasons, but when we needed to implement sFTP and FTPs, we chose to go with ipWorks (nsoftware.com/ipworks) and ipWorks SSL/SSH. Although, I wasn't the one paying for it, so I wasn't concerned out the cost. It may have been just because we were already using ipWorks for the FTP part.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions