anchor.diff:    FItemInProgress := GetItem(Index);
     FIIPName := NewName;
     try
  -    if not FDICopy(FFDIContext, FCabName, FCabPath, 0, @FDI_ExtractFiles,
  -                   nil, Self) then
  +    if not FDICopy(FFDIContext, PAnsiChar(FCabName), PAnsiChar(FCabPath), 0,
  +                   @FDI_ExtractFiles, nil, Self) then
         DoProcessItemFailure(FItemInProgress, ptExtract, ecCabError, 0);
     finally
       FIIPName := '';
  
positive.code:   TAbCabArchive = class(TAbArchive)
    protected {private}
      {internal variables}
      FCabName         : array[0..255] of AnsiChar;
      FCabPath         : array[0..255] of AnsiChar;
      FFCICabInfo      : FCICabInfo;
      FFCIContext      : HFCI;
      FFDIContext      : HFDI;
  
negative.code:   inherited CreateInit;
    FMode := Mode and fmOpenWrite;
    FArchiveName := FileName;
    FCabName := AnsiString(ExtractFileName(FileName));
    FCabPath := AnsiString(ExtractFilePath(FileName));
    SpanningThreshold := AbDefCabSpanningThreshold;
    FFolderThreshold := AbDefFolderThreshold;
    FItemInProgress := nil;
  