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:     fFailOnIncompressible := 0;
      setID             := SetID;
      StrPCopy(szDisk, '');
      StrCopy(szCab, FCabName);
      StrCopy(szCabPath , FCabPath);
    end;
  
      {obtain an FCI context}
  
negative.code:   inherited CreateInit;
    FMode := Mode and fmOpenWrite;
    FArchiveName := FileName;
    FCabName := AnsiString(ExtractFileName(FileName));
    FCabPath := AnsiString(ExtractFilePath(FileName));
    SpanningThreshold := AbDefCabSpanningThreshold;
    FFolderThreshold := AbDefFolderThreshold;
    FItemInProgress := nil;
  