AGB  ·  Datenschutz  ·  Impressum  







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

KAZip Open Archiv

Ein Thema von little_budda · begonnen am 30. Mär 2008 · letzter Beitrag vom 31. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#1

KAZip Open Archiv

  Alt 30. Mär 2008, 17:58
Hallo,

ich versuche mich gerade am packen von Dateien.
Ich nutze hierfür KAZip unter BDS 2006.

Der Compiler bringt keinen Fehler, aber zur Laufzeit bekomme ich eine Zugriffsverletzung an der folgenden Stelle

Delphi-Quellcode:
procedure TKAZip.Close;
begin
  Entries.Clear; // <- Hier wird der Zugriffsfehler erzeugt
  if Assigned(FZipStream) AND (NOT FExternalStream) Then FZipStream.Free;
  FExternalStream := False;
  FZipStream := Nil;
  FIsZipFile := False;
  FIsDirty := True;
  FReadOnly := False;
  DoChange(Self,0);
end;
Der Code liegt in KAZip.
Und "Entries" ist auch unter Properties deklariert.
Mein Projekt liegt im Anhang.

Vielleicht hat ja jemand eine Idee oder noch besser eine Erklärung für mich.


Gruß Holger.
Angehängte Dateien
Dateityp: zip dateieinauspacker_212.zip (370,9 KB, 16x aufgerufen)
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: KAZip Open Archiv

  Alt 30. Mär 2008, 18:03
Moin Holger,

hättest du eventuell ein Link zu der Homepage der Komponente ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#3

Re: KAZip Open Archiv

  Alt 30. Mär 2008, 18:10
Ja klar.

KAZip gibt es HIER

Das verwendete BZip2 gibt es HIER
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#4

Re: KAZip Open Archiv

  Alt 31. Mär 2008, 11:34
Hallo,

ich habe das Projekt gerade noch mal in Turbo Delphi getestet.
Aber das Ergebnis ist das gleiche.
Habe schon im Forum nach einem Beispielprojekt gesucht, aber nichts verwertbares gefunden.

[edit]Schreibfehler[/edit]
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
Benutzerbild von Sko
Sko

Registriert seit: 11. Sep 2005
327 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: KAZip Open Archiv

  Alt 31. Mär 2008, 11:54
Also mir fehlt da irgendwo ein myZipArchive.Create, für mich siehts so aus als wenn du auf ein nicht erzeugtes Objekt zugreifst. Du musst das Objekt myZipArchive also noch irgendwo erzeugen (im OnCreate vielleicht).
MfG Sko
Zitat von Phoenix:
[OT]Phoenix guckt in die Glaskugel, zuckt mit den Flügelspitzen, krächzt etwas von wegen 'Boden' und 'Scherben' und schubbst die Kugel in Richtung Tischkante.[/OT]
Rockbox
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#6

Re: KAZip Open Archiv

  Alt 31. Mär 2008, 13:19
Hallo,

ich habe im OnCreate folgendes eingetragen
Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
  myZipArchive.Create(self);
end;
Und sobald das Programm zur Laufzeit da ankommt
bekomme ich wieder eine Exeption mit Zugriffsverletzung.

Ich hatte mir das mir den nicht erzeugten Objekten auch schon gedacht,
aber das erzeugen des ZIPs klappt deswaegen habe ich die Idee verworfen.
Delphi-Quellcode:
procedure Tfrm_main.Neuanlegen1Click(Sender: TObject);
var FS : TFileStream;
begin
  // Archiv neu anlegen
  if SaveDialog1.Execute Then
     Begin
       FS := TFileStream.Create(SaveDialog1.FileName,fmOpenReadWrite or FmCreate);
       Try
         myZipArchive.CreateZip(FS); // <- Hier wird das ZIP erzeugt (kein Fehler)
       Finally
         FS.Free;
       End;
       myZipArchive.Open(SaveDialog1.FileName);
       Statusbar1.simpletext := ' Aktuelles Archiv: ' + SaveDialog1.FileName;
     End;
end;
Ich hab keine richtige Idee mehr.
Auf den Seiten von Torry, wo ich die Komponente heruntergeladen habe, ist sie auch nur bis D2005 angegeben.
Vielleicht klappt sie einfach nicht mit D2006.
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#7

Re: KAZip Open Archiv

  Alt 31. Mär 2008, 13:25
Du weist schon was du mit "self" übergibst, oder ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#8

Re: KAZip Open Archiv

  Alt 31. Mär 2008, 13:30
Den Bezug auf meine eigene Anwendung.
Dachte ich wenigsten.
Tue ich das nicht?
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#9

Re: KAZip Open Archiv

  Alt 31. Mär 2008, 13:33
Doch, aber wie es in deinem 2. Code zeigt, möchte er einen Filestream als Parameter haben.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: KAZip Open Archiv

  Alt 31. Mär 2008, 13:35
ohne jetzt in den code geschaut zu haben:

Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
  myZipArchive.Create(self);
end;
kommt mir etwas spanisch vor.. wäre das nicht eigentlich:

Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
  myZipArchive := TZipAchrive.Create(self); // oder wie auch immer die klasse heißt ?
end;
gruß
reli
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz