Problem mit XbZLibZip [ERLEDIGT]

Moderator: Moderatoren

Antworten
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Problem mit XbZLibZip [ERLEDIGT]

Beitrag von peternmb »

Hallo,

ich erhalte eine Fehlermeldung bei der ich nicht mehr weiter weiß.
In meinem Beispielcode funktioniert das Packen ohne Probleme, beim Entpacken erhalte ich die Meldung:
Description: Object has no method with this name
Operation: ExtractAll


Hier mein Beispielcode:

Code: Alles auswählen

function packen
//
LOCAL oZip := XbZLibZip():New(SLE_Z:getData())
if oZip:IsOpen(.t.)
   if check_ex1:getData()
      oZip:AddFile('Test1.dbf', Hauptpfad , '')
   endif
   if check_ex2:getData()
      oZip:AddFile('Test2.dbf', Hauptpfad , '')
   endif
endif
oZip:Close()
//
return .t.

#include "XbZ_Zip.ch"
function entpacken
//
LOCAL oZip := XbZLibZip():New('PeterTest.zip', XBZ_OPEN_READ)
oZip:ExtractAll('D:\Prg\')
oZip:Close()
//
return .t.
Irgendwie kann ich das Problem absolut nicht erkennen
Zuletzt geändert von peternmb am Fr, 23. Okt 2009 17:18, insgesamt 1-mal geändert.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Problem mit XbZLibZip

Beitrag von brandelh »

Hi,
das liegt daran, dass die Dokumentation nicht mehr zu der Version stimmt ... der Befehl heißt anders ;-)
Kann man im Quellcode gut nachlesen, aber hier meine Funktion die die XbZLib nutzt:

Code: Alles auswählen

#pragma library("XbZLib.lib")
#include "XbZ_Zip.ch"
#include "directry.ch"

function HB_UnzipFile(cZipMitPfad,cZielVerz,IsFirstDelZielDLL)
   local lFehler := .f.
   local oZIP
   local aDir, x

   if empty(cZielVerz) .or. empty(cZipMitPfad) .or. ! file(cZipMitPfad)
      lFehler := .t.
   else
      if right(cZielVerz,1)="\"  // das stört nun
         cZielVerz := left(cZielVerz,len(cZielVerz)-1)
      endif
      CreateDir(cZielVerz)     // versuchen wir es
      lFehler := ! IsDir(cZielVerz)
   endif

   if ! lFehler
      aDir := directory(cZielVerz+"\*.*")                // Schreibschutz entfernen
      aeval(aDir,{|aF| FAttr(cZielVerz+"\"+aF[F_NAME],"-R")})
      oZIP := XbZLibZip():New()
      if oZIP:open(cZipMitPfad,XBZ_OPEN_TEST) // nur eine intakte Datei öffnen
         if IsFirstDelZielDLL
            aDir := directory(cZielVerz+"\*.DLL")        // Ziel-DLL löschen
            aeval(aDir,{|aF| FErase( cZielVerz+"\"+aF[F_NAME] ) } )
         endif
         oZIP:Extract(cZielVerz,"*.*",.t.,XBZ_OVERWRITE_ALL)
         oZIP:Close()
      else
         lFehler := .t.
      endif
   endif
return ! lFehler
Der Befehl zum Entpacken ist:

Code: Alles auswählen

oZIP:Extract(cZielVerz,"*.*",.t.,XBZ_OVERWRITE_ALL)
Gruß
Hubert
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Problem mit XbZLibZip

Beitrag von peternmb »

brandelh hat geschrieben:Hi,
das liegt daran, dass die Dokumentation nicht mehr zu der Version stimmt ... der Befehl heißt anders ;-)
Da muss man erstmal darauf kommen :banghead: - ich hätte da noch ewig weiterprobieren können.

Vielen Dank für den Hinweis
Antworten