Thema: Delphi Sevezip.pas [ISO]

Einzelnen Beitrag anzeigen

-Phantom-

Registriert seit: 26. Nov 2009
Ort: Bockhorst
319 Beiträge
 
Delphi 7 Enterprise
 
#1

Sevezip.pas [ISO]

  Alt 22. Nov 2010, 22:44
Hey Leute,

wie ihr vielleicht schon mit bekommen habt entwickel ich garde einen Entpacker, der ist schon fast fertig und ich war am testen ob der auch alle Archive entpackt. Dann ist mir aufgefallen das der keine ".iso" Archive entpackt.

In der sevenzip.pas steht das
Delphi-Quellcode:
 
  CLSID_CFormatUdf : TGUID = '{23170F69-40C1-278A-1000-000110E00000}'; // iso
  CLSID_CFormatIso : TGUID = '{23170F69-40C1-278A-1000-000110E70000}'; // iso
Es sind 2 unterschiedliche. Aber beide gehen nicht . Er entpackt sie nicht nur, er "öffnet" sie gar nicht erst. Die Dateien können nicht ausgelesen werden, als Fehlermeldung kommt "Unzulässige Funktion"
Bei allen andern Archiv klappt das wie : .rar, .zip, .cab, .lzma, .xpi usw
Ich mache es Folgendermaßen:
Delphi-Quellcode:
    if openend = '.isothen
    begin
      with CreateInArchive(CLSID_CFormatiso) do
      begin
        Hinzufgen1.Enabled := false;
        sBitBtn3.Enabled := false;
        sBitBtn5.Enabled := false;
        Eigenschaften1.Enabled := false;
        openfile(openpfad);
        i := numberofitems;
        for i := 0 to numberofitems - 1 do
        begin
          inpfad := itempath[i];
          zpfad := StringReplace(inpfad, '/', '\', [rfReplaceAll]);
          datei := Extractfilename(zpfad);
          Item := Dateilist.Items.add;
          Item.Caption := datei;
          Item.SubItems.add(Extractfilename(openpfad) + '/' + inpfad);
          Item.SubItems.add(inttostr(itemsize[i]) + ' B');
          lblag.Caption := inttostr(GetFileSizeA(openpfad) div 1024) + ' KB';
          date1 := CurrentFileTime;
          Item.SubItems.add(datetostr(FileTimeToDateTime(date1)))
        end;
      end;
      lblanzahl.Caption := inttostr(i);
    end;
Mathias Jansen
  Mit Zitat antworten Zitat