Newsgroups : Borland : borland.public.delphi.internet.winsock : 2006 May : Re: Indy FTP and large files problem
| Subject: | Re: Indy FTP and large files problem |
| Posted by: | "Remy Lebeau (TeamB)" (no.spam@no.spam.com) |
| Date: | Thu, 18 May 2006 12:10:00 |
"RGreen" <rgreen@nospam.kemi.umu.se> wrote in message
news:446cb6f9@newsgroups.borland.com...
> Well, I heard that Largestream makes the internal logic work
> someking differently and less efficient
Transfer process is tracked using Int64 regardless of the LargeStream
property value. The only thing that the LargeStream property effects
logic-wise is the byte size of the numeric value that is transmitted before
the stream data when the AWriteByteCount paramerter of Write(TIdStream) is
set to True. TIdFTP never sets that parameter to True.
> Debuging right now. I see that LargeStream IS true. Same problem.
FTP uses a second connection for data transfers. Regardless of what you set
the LargeStream value to for the TIdFTP's own IOHandler, the second
connection has its own separate IOHandler that does not have its LargeStream
value assigned. I will fix that in the next snapshot. In the meantime, you
can use the OnDataChannelCreate event to update the DataChannel's
LargeStream property manually, ie:
procedure TForm1.IdFTP1DataChannelCreate(ASender: TIdBaseObject;
ADataChannel: TIdTCPConnection);
begin
ADataChannel.IOHandler.LargeStream := True;
end;
Gambit