Hi

I am building a custom FTP server app using Indy 10 components (for the
first time).   I am having trouble implementing a crc file verification
system.

On the FTP server I have

procedure TForm1.IdFTPServerCRCFile(ASender: TIdFTPServerContext;
 const AFileName: String; var VStream: TStream);
var
   CRC     : TIdHashCRC32;
   fs      : TFileStream;
   Hash    : String;
begin
   CRC := TIdHashCRC32.Create;
   try
       fs := TFileStream.Create(AFilename, fmOpenRead);
       try
           Hash    := IntToStr(CRC.HashValue(fs));

           VStream := TMemoryStream.Create;
           VStream.Write(Hash, SizeOf(Hash));
       finally
           fs.Free;
       end;
   finally
       CRC.Free;
   end;



The CRC created is correct and if I view (using some extra code) what is
added to the VStream it also is correct.  However the value returned to
the client is different and changes between runs.  Does anybody have
ideas as to what I am doing wrong?

Note: I believe the VStream is later freed by the component (although I
don't see this documented anywhere).


TIA


Rob Martin
Software Engineer

phone +64 03 377 0495
fax   +64 03 377 0496
web www.chreos.com

Wild Software Ltd
_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to