Thema: Delphi Probleme mit BITS

Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#5

AW: Probleme mit BITS

  Alt 20. Sep 2016, 11:06
Hallo..

Habe auch mal vor einiger Zeit etwas mit BITS rumgespielt..

Allerdings habe ich die ganze Job-Geschichte in einen eigenen Thread ausgelagert, welcher auch den Status abfrägt und entsprechend Rückmeldung gibt.

Von dort habe ich mal etwas heraus gezogen:

Delphi-Quellcode:
procedure InitJob(AFileNameSource : WideString; AFileNameTarget : WideString);
var
  Bits : IBackgroundCopyManager;
  Job: IBackgroundCopyJob;
  JobID: GUID;
begin
  CoInitialize(nil);
  try
    try
      Bits := CoBackgroundCopyManager_.Create;

      // Erstellen neuen Job
      Assert(Succeeded(Bits.CreateJob('BITSJob', BG_JOB_TYPE_DOWNLOAD, jobID, job )));

      // Fileeinträge erzeugen
      Assert(Succeeded(job.AddFile(PWideChar(AFileNameSource), PWideChar(AFileNameTarget))));

      // Priorität setzen
      Assert(Succeeded(job.SetPriority( BG_JOB_PRIORITY_HIGH )));

// ... Status-Abfragen

      job := nil;
    except
      on E: Exception do
        ShowMessage('Exception : ' + E.Classname + ': ' + E.Message);
    end;
  finally
    CoUninitialize;
  end;
end;

Dies verwendet die angehängte TLB, jedoch weiß ich nicht mehr, wo die her ist.
Auch ist die TLP für die BITS Vers. 1 und noch nicht für die Vers. 2, funktioniert auf Windows 7 aber problemlos.

Mit BITS können übrigens nicht nur Dateien aus dem Internet herunter geladen werden, sondern auch aus dem Lokalen Netz.
Angehängte Dateien
Dateityp: pas BackgroundCopyManager_TLB.pas (15,3 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat