Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: DEC onProgress-Ereignis bei mehreren Threads

  Alt 9. Aug 2003, 21:29
So ich habe es jetzt geschaft, aber nicht so richtig. Ich benutze jetzt ein TThread-Objekt.
Delphi-Quellcode:
procedure BlowFishThread.EncryptBlowFish;
var
  BlowFish: TCipherManager;
begin
  BlowFish := TCiphermanager.Create(nil);
  with BlowFish do
  begin
    try
      Algorithm := 'Blowfish';
      InitKey(FPW, nil);
      OnProgress := Progress;
      EncodeFile(FFilename, FFilename + '.encoded');
    except
      BlowFish.Free;
      FPosition := -1;
      exit;
    end;
  end;
  BlowFish.Free;
end;

procedure BlowFishThread.Progress;
begin
  FPosition := Trunc(100 / Maximal * Current);
  Synchronize(UpLV);
end;

procedure BlowFishThread.Execute;
var
  Header: TFileHeader;
begin
  EncryptBlowFish;
  with Header do
  begin
    HeaderSize := sizeof(TFileHeader);
    sVersion := VER;
    sAlgo := ALGO_BLOWFISH;
    KeySize := 0;
  end;
  Addheader(Header, Filename + '.encoded');
end;

procedure BlowFishThread.UPLV;
begin
  Form1.UpLV(FIndex, FPosition);
end;
Allerdings zählt er nur die letzte Datei hoch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat