anchor.diff:  
       FExtraField.LoadFromStream( Stream, ExtraFieldLength );
   
  -    SetLength( FFileComment, FileCommentLength );
       if FileCommentLength > 0 then
  -      Read( FFileComment[1], FileCommentLength );
  +    begin
  +      SetLength(pBytes, FileCommentLength);
  +      Read(pBytes, Length(pBytes));
  +      FFileComment := TEncoding.ANSI.GetString(pBytes);
  +    end
  +    else
  +      FFileComment := '';
     end;
     if not IsValid then
       raise EAbZipInvalid.Create;
  
positive.code: procedure TAbZipDirectoryFileHeader.LoadFromStream( Stream : TStream );
  var
    ExtraFieldLength, FileCommentLength, FileNameLength : Word;
  begin
    with Stream do begin
      Read( FSignature, sizeof( FSignature ) );
  
negative.code:     procedure SaveLFHToStream( Stream : TStream );
      procedure SetCompressionMethod( Value : TAbZipCompressionMethod );
      procedure SetDiskNumberStart( Value : LongWord );
      procedure SetFileComment(const Value : string);
      procedure SetGeneralPurposeBitFlag( Value : Word );
      procedure SetHostOS( Value : TAbZipHostOS );
      procedure SetInternalFileAttributes( Value : Word );
  