Windows

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • 64-bit FTP support

    5 answers - 1590 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    I've finished updating the ICS FTP client and server components to
    support 64-bit streams and thus single files larger than 2 gigs, when
    used with Delphi 6 and later.
    The updated components may be downloaded from:
    until they become available from the ICS site.
    Large files can only be used in the client with TFileStream, since
    THandleStream and TMemoryStream don't support sizes larger than 2 gigs,
    and even that would probably cripple windows. LocalFileName mode
    must be used if resume is needed above the 2 gig boundary, and this
    proved a pain during testing because the integer overloaded Seek seemed
    to be linked rather than int64 version, so I had to code my own Seek64
    function. The client also includes a fix for FTP uploads of about 9K
    or 10K sometimes being truncated.
    The ICS 64-bit client has been tested against the ICS 64-bit server,
    and against Windows 2000 IIS/5, with a 4.7 gig DVD image. Resumed
    downloading was tested with Magenta Systems File Transfer Components
    v1.4 (which should be available shortly on the ICS SSL site), download
    resume above 2 gigs works against both FTP server, but FTP upload
    resume only against the ICS server since IIS/5 seemed to delete the
    partially upload file when stopped or the network cable pulled.
    Both components are fully backward compatible, the only change with the
    client is a new 64-bit progress event. FtpSrvT.pas has a number of new
    64-bit support functions that applications may need, like GetFileSize64
    and atoi64.
    Angus
  • No.1 | | 330 bytes | |

    Angus Robertson - Magenta Systems Ltd wrote:
    I've finished updating the ICS FTP client and server components to
    support 64-bit streams and thus single files larger than 2 gigs, when
    used with Delphi 6 and later.

    Great, things move!
    Testing was probably a lengthy story with such large files ;-)

    Arno
  • No.2 | | 593 bytes | |

    Message
    From: "Angus Robertson - Magenta Systems Ltd" <angus (AT) magsys (DOT) co.uk>
    To: <twsocket (AT) elists (DOT) org>
    Sent: Tuesday, September 06, 2005 4:45 PM
    Subject: [twsocket] 64-bit FTP support

    proved a pain during testing because the integer overloaded Seek seemed
    to be linked rather than int64 version, so I had to code my own Seek64
    function.

    Are you sure you were using soBeginning, soEnd etc. instead of
    soFromBeginning, soFromEnd.
    I had this problem when I started using int64 streams and that was the
    solution.

    Dan
  • No.3 | | 1181 bytes | |

    Angus Robertson - Magenta Systems Ltd wrote:
    I've finished updating the ICS FTP client and server components to
    support 64-bit streams and thus single files larger than 2 gigs, when
    used with Delphi 6 and later.

    The updated components may be downloaded from:

    until they become available from the ICS site.

    Angus, I took a brief look at your code (btw: I couldn't find it in
    the new ICS Beta from yesterday).

    Large files can only be used in the client with TFileStream, since
    THandleStream and TMemoryStream don't support sizes larger than 2 gigs,

    THandleStream supports it, at least in Delphi 7, TFileStream is derived
    from THandleStream.

    and even that would probably cripple windows. LocalFileName mode
    must be used if resume is needed above the 2 gig boundary, and this
    proved a pain during testing because the integer overloaded Seek seemed
    to be linked rather than int64 version, so I had to code my own Seek64
    function.

    I think it can be simplified, without an own Seek64-function just by
    a new custom integer type that would be of Type Int64 in D6 and above.

    Arno Garrels
  • No.4 | | 288 bytes | |

    I think it can be simplified, without an own Seek64-function just by
    a new custom integer type that would be of Type Int64 in D6 and above.
    Yes, that's what I told to Angus when I saw his code. Introducing this datatype would dramatically
    reduce conditional compilation.
  • No.5 | | 453 bytes | |

    Francois Piette wrote:
    >I think it can be simplified, without an own Seek64-function just by
    >a new custom integer type that would be of Type Int64 in D6 and above.


    Yes, that's what I told to Angus when I saw his code. Introducing this
    datatype would dramatically reduce conditional compilation.

    You could probably simply overload GetFileSize() and DecodeMlsResp() as well.

    Arno Garrels

Re: 64-bit FTP support


max 4000 letters.
Your nickname that display:
In order to stop the spam: 2 + 2 =
QUESTION ON "Windows"

EMSDN.COM