AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sevezip.pas [ISO]

Ein Thema von -Phantom- · begonnen am 22. Nov 2010 · letzter Beitrag vom 26. Nov 2010
Antwort Antwort
-Phantom-

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

Sevezip.pas [ISO]

  Alt 22. Nov 2010, 23: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
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Sevezip.pas [ISO]

  Alt 22. Nov 2010, 23:47
Und das genaue Problem besteht wo? Dass du von uns nun wissen willst, wie ISO-Dateien entpackt werden können? Oder wo der Fehler in deinem Code steckt?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
-Phantom-

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

AW: Sevezip.pas [ISO]

  Alt 22. Nov 2010, 23:50
Wie ich das nun hin bekomme, dass die ISO Archive entpackt werden.

Der Code ist ja richtig, weil die andren Archive damit ausgelesen und entpackt werden können. Hab es nur als Beispiel beigelegt
Mathias Jansen
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

AW: Sevezip.pas [ISO]

  Alt 22. Nov 2010, 23:53
Wo in deinem Code erscheint denn die Fehlermeldung? CreateInArchive ist ja deine eigene Methode und ich vermute stark, dass der Fehler da steckt. Dein Code ist halt für die bisherigen Archive korrekt, nicht aber für das ISO-Format -- davon gehe ich im Moment eben aus.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
-Phantom-

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

AW: Sevezip.pas [ISO]

  Alt 22. Nov 2010, 23:56
Es ist ne Laufzeit Fehlermeldung. Es kommt wenn ich versuche die ISO zu öffnen

// wieso ist das meine Methode? Die kommt von der sevenzip.pas
Mathias Jansen
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

AW: Sevezip.pas [ISO]

  Alt 22. Nov 2010, 23:58
Wow... Du hilfst uns ja nicht gerade viel Schau doch einfach mal in welcher Zeile genau der Fehler auftritt. Setz halt mal einen Haltepunkt an die CreateInArchive Methode und gehe dann, sobald der Punkt erreicht ist, mit F7 weiter bis der Fehler auftritt.

Zudem wäre es interessant zu wissen, wie denn die Methode CreateInArchive aussieht, in so fern darin der Fehler steckt.

-- EDIT
Wenn irgendwas unklar ist, was ich hier gerade schreiben, dann gib bescheid.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz